A modular deployment engine using GitHub Actions and AWS CodeSuite, featuring automated canary deployments and rollbacks for marciobolsoni.cloud.
Click any stage to explore its role in the deployment engine, configuration details, and tooling.
Five purpose-built workflows covering the full software delivery lifecycle — from pull request validation to production rollback.
Runs on every pull request to main. Performs linting, unit tests, security scans, Docker build, and Terraform plan with a PR comment.
AWS CodeDeploy shifts traffic progressively using ECSCanary10Percent5Minutes. Five CloudWatch alarms act as automated rollback triggers.
Any alarm breach during the canary bake period triggers an automatic rollback via CodeDeploy.
A defense-in-depth approach following AWS Well-Architected Framework principles — zero long-lived credentials, supply chain scanning, and network isolation.
GitHub Actions authenticates to AWS using OpenID Connect (OIDC). No AWS access keys are stored in GitHub Secrets — the IAM role is assumed dynamically per workflow run via a short-lived token.
The entire AWS infrastructure is defined in Terraform, organized into four reusable modules. Remote state is stored in S3 with DynamoDB locking.
Five steps to get the GitOps CI/CD Suite running in your AWS account. Prerequisites: AWS account, GitHub repository, and the required secrets configured.
Create an IAM OIDC provider for GitHub Actions and an IAM role with the required permissions. Store the role ARN in GitHub Secrets as AWS_ROLE_ARN.