Terraform module to deploy production-ready applications and services on an existing ECS infra.
| Name | Version | 
|---|---|
| terraform | >= 1.6.0 | 
| aws | ~> 5.0 | 
| Name | Version | 
|---|---|
| aws | ~> 5.0 | 
| Name | Source | Version | 
|---|---|---|
| acm | ./modules/acm | n/a | 
| alb | ./modules/alb | n/a | 
| capacity_provider | ./modules/capacity-provider | n/a | 
| s3_bucket | ./modules/s3-bucket | n/a | 
| Name | Type | 
|---|---|
| aws_ecs_service.this | resource | 
| aws_ecs_task_definition.this | resource | 
| aws_elb_service_account.this | data source | 
| Name | Description | Type | Default | Required | 
|---|---|---|---|---|
| acm_certificates | ACM certificates to create. | map(object({ | {} | no | 
| capacity_provider_default_auto_scaling_group_arn | ARN for this Auto Scaling Group. | string | null | no | 
| capacity_providers | Capacity Providers to associate with the ECS Cluster. | any | {} | no | 
| cluster_name | (Required) Name of the cluster. | string | n/a | yes | 
| create_acm | Creates the ACM certificates to use with the Load Balancer. | bool | false | no | 
| create_alb | Creates a new Application Load Balancer to use with the ECS Service. | bool | true | no | 
| create_capacity_provider | Creates a new Capacity Provider to use with the Autoscaling Group. | bool | true | no | 
| create_s3_bucket_for_alb_logging | (Optional) Creates S3 bucket for storing ALB Access and Connection Logs. | bool | true | no | 
| default_capacity_providers_strategies | (Optional) Set of capacity provider strategies to use by default for the cluster. | any | [] | no | 
| load_balancer | Configuration for the Application Load Balancer. | object({ | {} | no | 
| s3_bucket_force_destroy | (Optional, Default:false) Boolean that indicates all objects (including any locked objects) should be deleted from the bucket when the bucket is destroyed so that the bucket can be destroyed without error. | bool | false | no | 
| s3_bucket_name | (Optional, Forces new resource) Name of the bucket. | string | null | no | 
| s3_bucket_policy_id_prefix | (Optional) - Prefix of the ID for the policy document. | string | "ecs-deployment-alb-" | no | 
| s3_bucket_tags | (Optional) Map of tags to assign to the bucket. | map(string) | {} | no | 
| s3_elb_service_account_arn | (Optional, Default:null) ARN of the ELB Service Account. | string | null | no | 
| service | Configuration for ECS Service. | object({ | n/a | yes | 
| task_definition | ECS Task Definition to use for running tasks. | object({ | n/a | yes | 
| vpc_id | The ID of the VPC. | string | n/a | yes | 
| Name | Description | 
|---|---|
| acm_certificate_validation_id | Identifiers of the ACM certificates validation resources. | 
| acm_certificates_arns | ARNs of the ACM certificates. | 
| acm_certificates_ids | Identifiers of the ACM certificates. | 
| acm_route53_records_ids | Identifiers of the Route53 Records for validation of the ACM certificates. | 
| alb_arn | ARN of the load balancer. | 
| alb_dns_name | DNS name of the load balancer. | 
| alb_listener_rules_arns | ARNs of the Listener Rules. | 
| alb_listener_rules_ids | Identifiers of the Listener Rules. | 
| alb_listeners_arns | ARNs of the Listeners. | 
| alb_listeners_ids | Identifiers of the Listeners. | 
| alb_target_groups_arns | ARNs of the Target Groups. | 
| alb_target_groups_ids | Identifiers of the Target Groups. | 
| alb_zone_id | Canonical hosted zone ID of the Load Balancer. | 
| capacity_provider_arns | ARNs for the ECS Capacity Providers. | 
| capacity_provider_ecs_cluster_capacity_providers_id | Identifier for the ECS Cluster Capacity Providers. | 
| capacity_provider_ids | Identifiers for the ECS Capacity Providers. | 
| ecs_service_arn | ARN that identifies the service. | 
| ecs_task_definition_arn | Full ARN of the Task Definition. | 
| s3_bucket_arn | ARN of the bucket. | 
| s3_bucket_id | Name of the bucket. | 
