-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.tf
More file actions
61 lines (51 loc) · 2.49 KB
/
Copy pathmain.tf
File metadata and controls
61 lines (51 loc) · 2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Monte Carlo's OpenTelemetry Collector Service - Terraform Configuration
# Copyright 2025 Monte Carlo Data, Inc.
locals {
common_tags = {
Service = "mcd-otel-collector"
Provider = "monte-carlo"
}
collector_role_arn = var.deploy_otel_collector ? module.otel_collector[0].task_role_arn : var.mcd_otel_collector_task_role_arn
telemetry_bucket_name = var.telemetry_data_bucket_arn != "" ? split(":", var.telemetry_data_bucket_arn)[5] : "${var.deployment_name}-otel-collector"
telemetry_bucket_arn = var.telemetry_data_bucket_arn != "" ? var.telemetry_data_bucket_arn : "arn:aws:s3:::${local.telemetry_bucket_name}"
}
module "otel_collector" {
source = "./modules/otel-collector"
count = var.deploy_otel_collector ? 1 : 0
deployment_name = var.deployment_name
existing_vpc_id = var.existing_vpc_id
existing_subnet_ids = var.existing_subnet_ids
telemetry_data_bucket_arn = local.telemetry_bucket_arn
existing_security_group_id = var.existing_security_group_id
grpc_port = var.grpc_port
http_port = var.http_port
task_desired_count = var.task_desired_count
task_cpu = var.task_cpu
task_memory = var.task_memory
container_image = var.container_image
batch_timeout = var.batch_timeout
batch_size = var.batch_size
memory_limit_mib = var.memory_limit_mib
memory_spike_limit_mib = var.memory_spike_limit_mib
common_tags = local.common_tags
}
module "otel_storage" {
source = "./modules/data-store"
deployment_name = var.deployment_name
telemetry_data_bucket_arn = var.telemetry_data_bucket_arn
external_id = var.external_id
external_access_principal = var.external_access_principal
external_access_principal_type = var.external_access_principal_type
external_access_role_name = var.external_access_role_name
mcd_otel_collector_task_role_arn = local.collector_role_arn
vpc_endpoint_id = var.vpc_endpoint_id
common_tags = local.common_tags
}
module "athena_resources" {
source = "./modules/athena-resources"
count = var.deploy_athena_resources ? 1 : 0
deployment_name = var.deployment_name
common_tags = local.common_tags
sns_topic_arn = var.telemetry_data_bucket_notification_sns_topic_arn
telemetry_data_bucket_arn = local.telemetry_bucket_arn
}