https://github.com/senora-dev/terraform-aws-codedeploy
https://github.com/senora-dev/terraform-aws-codedeploy
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/senora-dev/terraform-aws-codedeploy
- Owner: Senora-dev
- Created: 2024-04-27T20:28:19.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-25T14:46:20.000Z (12 months ago)
- Last Synced: 2025-10-05T05:40:06.707Z (9 months ago)
- Language: HCL
- Size: 11.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AWS CodeDeploy Terraform Module
This Terraform module creates an AWS CodeDeploy application and deployment group for ECS services with blue/green deployment capabilities.
## Features
- CodeDeploy application for ECS services
- Blue/Green deployment configuration
- Automatic rollback on deployment failure
- Traffic routing through Application Load Balancer
- IAM roles and policies for CodeDeploy
- CloudWatch logging integration
- ECS service integration
- Lambda execution permissions
## Usage
```hcl
module "codedeploy" {
source = "Senora-dev/codedeploy/aws"
app_name = "my-app"
ecs_cluster_name = "my-cluster"
ecs_service_name = "my-service"
load_balancer_listener_arn = "arn:aws:elasticloadbalancing:region:account:listener/app/alb/1234567890abcdef/1234567890abcdef"
load_balancer_test_listener_arn = "arn:aws:elasticloadbalancing:region:account:listener/app/alb/1234567890abcdef/0987654321fedcba"
load_balancer_blue_target_group = "blue-tg"
load_balancer_green_target_group = "green-tg"
termination_wait_time_in_minutes = 120
}
```
## Requirements
| Name | Version |
|------|---------|
| terraform | >= 1.0 |
| aws | >= 4.0 |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| app_name | Name of the application | `string` | n/a | yes |
| ecs_cluster_name | Name of the ECS cluster | `string` | n/a | yes |
| ecs_service_name | Name of the ECS service | `string` | n/a | yes |
| load_balancer_listener_arn | ARN of the production listener | `string` | n/a | yes |
| load_balancer_test_listener_arn | ARN of the test listener | `string` | n/a | yes |
| load_balancer_blue_target_group | Name of the blue target group | `string` | n/a | yes |
| load_balancer_green_target_group | Name of the green target group | `string` | n/a | yes |
| termination_wait_time_in_minutes | Time to wait before terminating old instances | `number` | `120` | no |
## Outputs
| Name | Description |
|------|-------------|
| codedeploy_app_name | Name of the CodeDeploy application |
| codedeploy_deployment_group_name | Name of the deployment group |
| codedeploy_role_arn | ARN of the CodeDeploy IAM role |
## Notes
- The module creates a CodeDeploy application specifically for ECS services
- Blue/Green deployment is configured with traffic routing through an ALB
- Automatic rollback is enabled for failed deployments
- The module creates necessary IAM roles and policies for CodeDeploy
- CloudWatch logging is configured for deployment monitoring
- Lambda execution permissions are attached to the CodeDeploy role
## License
MIT Licensed. See LICENSE for full details.
## Maintainers
This module is maintained by [Senora.dev](https://senora.dev).