1- module "timeoff_service" {
2- source = " ../modules/service"
3- vpc_id = data. terraform_remote_state . global . outputs . vpc_id
4- cluster_name = " core"
5- service_name = local. name
6- task_definition_name = " timeoff:8"
7- desired_count = 1
8- container_name = local. name
9- container_port = 3000
10- protocol = " HTTP"
11- alb_security_group_id = data. terraform_remote_state . global . outputs . alb_security_group
12- subnets = data. terraform_remote_state . global . outputs . private_subnets
13- http_alb_listener_arn = data. terraform_remote_state . global . outputs . http_listener_arn
14- https_alb_listener_arn = data. terraform_remote_state . global . outputs . https_listener_arn
1+ module "timeoff_service_http" {
2+ source = " ../modules/service"
3+ vpc_id = data. terraform_remote_state . global . outputs . vpc_id
4+ cluster_name = " core"
5+ service_name = " ${ local . name } -http"
6+ task_definition_name = " timeoff:8"
7+ desired_count = 1
8+ container_name = local. name
9+ container_port = 3000
10+ alb_security_group_id = data. terraform_remote_state . global . outputs . alb_security_group
11+ subnets = data. terraform_remote_state . global . outputs . private_subnets
12+ alb_listener_arn = data. terraform_remote_state . global . outputs . http_listener_arn
13+ }
1514
15+ module "timeoff_service_https" {
16+ source = " ../modules/service"
17+ vpc_id = data. terraform_remote_state . global . outputs . vpc_id
18+ cluster_name = " core"
19+ service_name = " ${ local . name } -https"
20+ task_definition_name = " timeoff:8"
21+ desired_count = 1
22+ container_name = local. name
23+ container_port = 3000
24+ alb_security_group_id = data. terraform_remote_state . global . outputs . alb_security_group
25+ subnets = data. terraform_remote_state . global . outputs . private_subnets
26+ alb_listener_arn = data. terraform_remote_state . global . outputs . https_listener_arn
1627}
1728
1829module "timeoff_build" {
19- source = " ../modules/developerTools/build"
20- application_name = local. name
21- environment_variables = [
30+ source = " ../modules/developerTools/build"
31+ application_name = local. name
32+ environment_variables = local. build_variables
33+ source_version = " develop"
34+ github_repository_url = " https://github.com/jimenamorazu/timeoff-management-application.git"
35+ github_token_ssm_path = " /CodeBuild/Github/access_token"
36+ }
37+
38+ resource "aws_codedeploy_app" "app" {
39+ compute_platform = " ECS"
40+ name = local. name
41+ }
42+
43+ module "timeoff_deploy_http" {
44+ source = " ../modules/developerTools/deployment"
45+
46+ application_name = local. name
47+ listener_arn = [data . terraform_remote_state . global . outputs . http_listener_arn ]
48+ primary_target_group = module. timeoff_service_http . primary_target_group
49+ secondary_target_group = module. timeoff_service_http . secondary_target_group
50+ ecs_cluster = " core"
51+ ecs_service = module. timeoff_service_http . service_name
52+ codedeploy_app_name = aws_codedeploy_app. app . name
53+ identifier = " http"
54+
55+ }
56+
57+ module "timeoff_deploy_https" {
58+ source = " ../modules/developerTools/deployment"
59+
60+ application_name = local. name
61+ listener_arn = [data . terraform_remote_state . global . outputs . http_listener_arn ]
62+ primary_target_group = module. timeoff_service_https . primary_target_group
63+ secondary_target_group = module. timeoff_service_https . secondary_target_group
64+ ecs_cluster = " core"
65+ ecs_service = module. timeoff_service_https . service_name
66+ codedeploy_app_name = aws_codedeploy_app. app . name
67+ identifier = " https"
68+ }
69+
70+ module "timeoff_pipeline" {
71+ source = " ../modules/developerTools/pipeline"
72+
73+ application_name = local. name
74+ codestar_connection = data. terraform_remote_state . global . outputs . codestar_connection_arn
75+ repository_id = " jimenamorazu/timeoff-management-application"
76+ source_branch = " develop"
77+ ecr_repository_name = data. terraform_remote_state . global . outputs . ecr_repo_name
78+ codebuid_project_name = module. timeoff_build . project_name
79+ codedeploy_app_name = aws_codedeploy_app. app . name
80+ codedeploy_group_names = [module . timeoff_deploy_http . deployment_group_name , module . timeoff_deploy_https . deployment_group_name ]
81+ }
82+
83+
84+ data "terraform_remote_state" "global" {
85+ backend = " s3"
86+ config = {
87+ bucket = " global-terraform-state"
88+ key = " global/network/terraform.tfstate"
89+ region = " us-east-1"
90+ }
91+ }
92+
93+ locals {
94+ name = " timeoff-app"
95+ build_variables = [
2296 {
2397 name = " dockerhub_password"
2498 type = " PARAMETER_STORE"
@@ -45,45 +119,4 @@ module "timeoff_build" {
45119 value = " 150068533141"
46120 }
47121 ]
48- source_version = " develop"
49- github_repository_url = " https://github.com/jimenamorazu/timeoff-management-application.git"
50- github_token_ssm_path = " /CodeBuild/Github/access_token"
51- }
52-
53- module "timeoff_deploy" {
54- source = " ../modules/developerTools/deployment"
55-
56- application_name = local. name
57- production_listener_arn = data. terraform_remote_state . global . outputs . https_listener_arn
58- listener_arns = [data . terraform_remote_state . global . outputs . http_listener_arn ]
59- primary_target_group = module. timeoff_service . primary_target_group
60- secondary_target_group = module. timeoff_service . secondary_target_group
61- ecs_cluster = " core"
62- ecs_service = module. timeoff_service . service_name
63- }
64-
65- module "timeoff_pipeline" {
66- source = " ../modules/developerTools/pipeline"
67- application_name = local. name
68- codestar_connection = data. terraform_remote_state . global . outputs . codestar_connection_arn
69- repository_id = " jimenamorazu/timeoff-management-application"
70- source_branch = " develop"
71- ecr_repository_name = data. terraform_remote_state . global . outputs . ecr_repo_name
72- codebuid_project_name = module. timeoff_build . project_name
73- codedeploy_app_name = module. timeoff_deploy . deployment_application_name
74- codedeploy_group_name = module. timeoff_deploy . deployment_group_name
75- }
76-
77-
78- data "terraform_remote_state" "global" {
79- backend = " s3"
80- config = {
81- bucket = " global-terraform-state"
82- key = " global/network/terraform.tfstate"
83- region = " us-east-1"
84- }
85- }
86-
87- locals {
88- name = " timeoff-app"
89122}
0 commit comments