@@ -8,24 +8,98 @@ terraform {
88 }
99}
1010
11+ module "vpc" {
12+ source = " ../modules/vpc"
13+ }
14+
15+ module "s3" {
16+ source = " ../modules/s3"
17+ }
18+
19+ module "security_group" {
20+ source = " ../modules/security_group"
21+
22+ vpc_id = module. vpc . vpc_id
23+ app_port = local. app_port
24+ rds_port = local. current_rds_config . port
25+ elasticache_port = local. current_elasticache_config . port
26+ private_subnets_cidr_blocks = module. vpc . private_subnets_cidr_blocks
27+ }
28+
29+ module "alb" {
30+ source = " ../modules/alb"
31+
32+ vpc_id = module. vpc . vpc_id
33+ app_port = local. app_port
34+ subnet_ids = module. vpc . public_subnet_ids
35+ security_group_ids = module. security_group . alb_security_group_ids
36+ health_check_path = local. health_check_path
37+ }
38+
1139module "cloudwatch" {
1240 source = " ../modules/cloudwatch"
1341
14- kms_key_id = module. secrets_manager . secret_cloudwatch_log_key_arn
42+ kms_key_id = module. secrets_manager . secret_key_arn
1543}
1644
1745module "secrets_manager" {
1846 source = " ../modules/secrets_manager"
1947
2048 secrets = {
49+ database_url = module.rds.db_url
50+ redis_url = module.elasticache.redis_primary_endpoint
2151 secret_key_base = var.secret_key_base
2252 }
2353}
2454
25- module "vpc" {
26- source = " ../modules/vpc"
55+ module "ecs" {
56+ source = " ../modules/ecs"
57+
58+ region = local. region
59+ app_port = local. app_port
60+ ecr_repo_name = local. ecr_repo_name
61+ health_check_path = local. health_check_path
62+ subnets = module. vpc . private_subnet_ids
63+ security_groups = module. security_group . ecs_security_group_ids
64+ alb_target_group_arn = module. alb . alb_target_group_arn
65+ aws_cloudwatch_log_group_name = module. cloudwatch . aws_cloudwatch_log_group_name
66+ deployment_maximum_percent = local. current_ecs_config . deployment_maximum_percent
67+ deployment_minimum_healthy_percent = local. current_ecs_config . deployment_minimum_healthy_percent
68+ web_container_cpu = local. current_ecs_config . web_container_cpu
69+ web_container_memory = local. current_ecs_config . web_container_memory
70+ task_desired_count = local. current_ecs_config . task_desired_count
71+ max_capacity = local. current_ecs_config . max_capacity
72+ max_cpu_threshold = local. current_ecs_config . max_cpu_threshold
73+
74+ environment_variables = local. current_environment_variables
75+ secrets_variables = module. secrets_manager . secrets_variables
76+ secret_arns = module. secrets_manager . secret_arns
2777}
2878
29- module "s3" {
30- source = " ../modules/s3"
79+ module "rds" {
80+ source = " ../modules/rds"
81+
82+ vpc_security_group_ids = module. security_group . rds_security_group_ids
83+ vpc_id = module. vpc . vpc_id
84+ subnet_ids = module. vpc . private_subnet_ids
85+
86+ database_name = var. environment
87+ username = var. rds_username
88+ password = var. rds_password
89+
90+ instance_type = local. current_rds_config . instance_type
91+ port = local. current_rds_config . port
92+ autoscaling_min_capacity = local. current_rds_config . autoscaling_min_capacity
93+ autoscaling_max_capacity = local. current_rds_config . autoscaling_max_capacity
94+ }
95+
96+ module "elasticache" {
97+ source = " ../modules/elasticache"
98+
99+ node_type = local. current_elasticache_config . node_type
100+ port = local. current_elasticache_config . port
101+ subnet_ids = module. vpc . private_subnet_ids
102+ security_group_ids = module. security_group . elasticache_security_group_ids
103+ auth_token = var. redis_auth_token
104+ kms_key_id = module. secrets_manager . secret_key_arn
31105}
0 commit comments