ecs-app
hazelops/ecs-app/aws
Terraform module to create and manage AWS ECS application.
Terraform AWS ECS App Module  Create and manage AWS ECS application in a clean abstracted way. > [!WARNING] > This module requires AWS provider version 6.x or higher. This module is actively maintained and is covered by multiple end-to-end tests to prevent regressions. Features _This module is feature-rich, with sane defaults. Some of the features are:_ - Web application (ALB + ACM + R53) - Worker application to Fargate and Worker application to EC2 (no ALB) - TCP application (no ALB) - Environment variables (SSM parameters) - ECR repo Management - Standardized naming convention for all resources - Deployment via Terraform & via external tool (ecs-deploy or ize) - Datadog integration - Autosc
| Name | Type | Description | Default |
|---|---|---|---|
| ecs_cluster_name | string | Name of the ECS cluster where the service will be deployed. Required | required |
| name | string | Application name. Used as the primary identifier for all created resources (e.g. | required |
| vpc_id | string | ID of the VPC where ECS resources will be created. Required | required |
| env | string | Environment name (dev, prod) | required |
| docker_registry | string | ECR or any other docker registry | "docker.io" |
| proxy_docker_image_name | string | Nginx proxy docker image name | "nginx" |
| max_size | number | Maximum number of running ECS tasks | 1 |
| efs_access_points | any | EFS access points - map of access point definitions. See terraform-aws-modules/e | {} |
| ssm_secret_path | string | AWS SSM root path to environment secrets of an app like /dev/app1 | null |
| alb_health_check_timeout | number | The amount of time, in seconds, during which no response means a failed health c | 6 |
| ecr_force_delete | bool | If true, the ECR repository will be deleted even if it contains images on destro | false |
| image_id | string | EC2 AMI id | null |
| sns_service_subscription_endpoint_protocol | string | SNS subscription protocol. See valid protocols here: https://registry.terraform. | "email" |
| ecs_network_mode | string | Corresponds to networkMode in an ECS task definition. Supported values are none, | "awsvpc" |
| https_enabled | bool | Whether enable https or not (still needs tls_cert_arn) | true |
| http_port | number | Port that is used for HTTP protocol | 80 |
| alb_access_logs_s3prefix | string | S3 prefix for ALB access logs | "" |
| app_type | string | ECS application type. Valid values: web (with ALB), worker (without ALB). | "web" |
| ssm_global_secret_path | string | AWS SSM root path to global environment secrets like /dev/global | null |
| assign_public_ip | bool | ECS service network configuration - assign public IP | false |
| datadog_jmx_enabled | bool | Enables / Disables jmx monitor via the datadog agent | false |
| ecs_service_name | string | The ECS service name | "" |
| app_secrets | list(any) | List of SSM ParameterStore secret parameters - by default, /$var.env/$var.name/* | [] |
| docker_container_port | number | Port exposed by the Docker container. Default is 3000 | 3000 |
| … and 10 more inputs | |||
cloudwatch_log_groupcloudwatch_event_rule_id — ID of the Cloudwatch event rule for ECS Scheduled Taskalb_dns_zone — Zone ID of the ALB DNS record (if ALB is created)alb_arn — ARN of the ALB (if ALB is created)public_ip — Public IP of the EC2 instance (if EC2 is used)ec2_dns_name — Public DNS name of the EC2 instance (if EC2 is used)r53_lb_dns_name — DNS name of the record that is attached to the ALB (if app type is web or tcp-ap)this_task_definition_arnalb_dns_name — Name of the ALB DNS record (if ALB is created)efs_mount_target — DNS name of the EFS mount target (if EFS is created)eips — List of EIPs associated with the EC2 instances (if EC2 is used)this_target_group_arnAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,