Skip to main content

Inputs and variables

The root inputs live in terraform/staging/variables.tf and terraform/prod/variables.tf. Both roots share the same interface.

Identity and ownership

VariablePurposeCurrent shape
aws_regiontarget AWS regionus-east-1 in both roots
project_namenaming and tagging prefixpoc-atlas in staging example, atlas in prod
environmentenvironment tag and naming suffixdev in staging example, prod in prod
owner_emailalert subscription target and ownership tagrequired in both roots

Ingress and hostnames

VariablePurposeCurrent shape
alb_certificate_idACM certificate for the ALB HTTPS listenerenvironment-specific
alb_ingress_cidrsclient allow-list for ALB HTTP/HTTPS0.0.0.0/0 in current staging example and prod values
events_ingestion_hosthost routed to the events APIatlas-ingest.twinfo.io in staging example
dashboard_backend_hosthost routed to the dashboard backendatlas-back.twinfo.io in staging example
kafka_ui_hosthost routed to Kafka UIatlas-kafka.twinfo.io in staging example
*_listener_priorityALB host-header rule priorityevents 1, dashboard 2, Kafka UI 3

Networking and environment shape

VariablePurposeCurrent shape
vpc_cidr_blockprimary VPC CIDR10.0.0.0/16 in staging example, 10.20.0.0/16 in prod
private_vpc_peering_routesextra routes on each private route tableempty in staging example, defined in prod
vpc_flow_logs_retention_daysretention for /vpc/flow-logs1 day in staging example, 7 days in prod

Events and image bootstrap

VariablePurposeCurrent shape
events_service_name_suffixevents ECS service suffixevents-ingestion
events_ecr_repository_suffixevents ECR repository suffixevents-ingestion
events_log_retention_daysevents service log retention1 day in staging example, 7 days in prod
dashboard_backend_log_retention_daysdashboard service log retention1 day in staging example, 7 days in prod
kafka_ui_log_retention_daysKafka UI log retention1 day in staging example, 7 days in prod

MSK and sink controls

VariablePurposeCurrent shape
msk_broker_instance_typeKafka broker classkafka.t3.small in staging example, kafka.m5.large in prod
msk_enable_multi_vpc_connectivityenables multi-VPC connectivity supportfalse in staging example, true in prod
msk_subnet_typepublic or private broker placementpublic in staging example, private in prod
msk_public_access_cidrsCIDRs allowed to reach public IAM + TLS on 9198open in staging defaults
enable_msk_s3_sinkenables optional MSK Connect to S3enabled in the committed examples
create_msk_connect_plugin_bucketcreates the plugin bucketenabled
msk_s3_sink_plugin_file_keyrequired ZIP object key when sink is onset only after upload
msk_s3_sink_topics_regextopic selector regexatlas\\.events\\..*
msk_s3_sink_partition_fieldsS3 partitioning fieldsorganization_id, brand_id

Dashboard database controls

VariablePurposeCurrent shape
dashboard_db_identifierDB instance identifier suffixrds-atlas-dashboard in staging example, rds in prod
dashboard_db_nameinitial database nameatlas_dashboard
dashboard_db_instance_classRDS instance sizedb.t4g.micro in staging example, db.t3.medium in prod
dashboard_db_subnet_group_typepublic or private subnet grouppublic in staging example, private in prod
dashboard_db_publicly_accessiblepublic accessibility flagtrue in staging example, false in prod
dashboard_db_multi_azMulti-AZ togglefalse in staging example, true in prod
dashboard_db_allowed_cidr_blocksCIDRs allowed to reach PostgreSQLopen in staging example, constrained in prod
dashboard_db_deletion_protectiondestroy protectionfalse in staging example, true in prod
dashboard_db_skip_final_snapshotdestroy-time snapshot behaviortrue in staging example, false in prod
tip

When in doubt, compare terraform/staging/terraform.tfvars.example with terraform/prod/production.auto.tfvars. That gives the clearest view of how Atlas wants environment parity with different safety and access postures.