CodeDeploy CI/CD (EC2 / ECS / Lambda)
CodeDeploy application, deployment groups, and the platform-correct service role for automated EC2/ECS/Lambda rollouts with auto-rollback on failure.
Verification
Live-testedReally deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.
Conformance
- Static validation (fmt · validate · tflint)
- Security scan clean (Checkov)
- Plan test superseded by live test
Provenance
- SHA-256 checksum
- Cosign signature
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-06-29 · how we verify
Verify this download
cosign · sha-256Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.
# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub
# 2. This module's Sigstore bundle
curl -o aws-codedeploy-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/aws-codedeploy/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle aws-codedeploy-1.0.0.sigstore.json \
aws-codedeploy-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "a6812243d2f77b84edbe064a08761acd2f8376a9721308d5afe0e7b9d8da0d4f aws-codedeploy-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "codedeploy" {
source = "www.iac-bazaar.com/iac-bazaar/aws-codedeploy/aws"
version = "1.0.0"
}Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.
Cite it in your README
badge · attributionPaste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads live-tested because the record says so, and the link lands on this page.
[](https://www.iac-bazaar.com/catalog/aws-codedeploy?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
Terraform module 1.0.0, live-tested on IaC Bazaar: [CodeDeploy CI/CD (EC2 / ECS / Lambda)](https://www.iac-bazaar.com/catalog/aws-codedeploy?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
```hcl
module "codedeploy" {
source = "www.iac-bazaar.com/iac-bazaar/aws-codedeploy/aws"
version = "1.0.0"
}
```Preview:
Inputs & outputs
Create a free account to read this module's contract
The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.
Documentation
aws-codedeploy
An AWS CodeDeploy application with deployment groups for CI/CD rollouts to EC2/on-premises (Server), ECS, or Lambda — plus the correctly-scoped service role, created automatically. CodeDeploy itself is free for EC2/Lambda/ECS deployments.
Design & secure defaults
- Platform-correct service role. The module attaches the right AWS-managed
policy for the chosen
compute_platform(AWSCodeDeployRolefor Server,AWSCodeDeployRoleForECSfor ECS,AWSCodeDeployRoleForLambdafor Lambda) — the usual cause of "deployment failed" misconfigurations. Bring your own role withcreate_service_role = false+service_role_arn. - Automatic rollback on failure is on by default for every deployment group
(
auto_rollback_configurationwithDEPLOYMENT_FAILURE). - Sensible deployment config per platform (
OneAtATime/ECSAllAtOnce/LambdaAllAtOnce) unless you overridedeployment_config_name. - Preconditions enforce platform invariants (ECS requires
ecs_service; a BYO role requiresservice_role_arn).
Provider
hashicorp/aws >= 6.0, < 7.0. Requires Terraform/OpenTofu >= 1.6.
License
Commercial — LicenseRef-IaCBazaar-Commercial. See the IaC Bazaar terms.
Usage code & full reference need an account
The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.
- Usage
- Key inputs
- Outputs
Related modules
aws-codebuild
privileged_mode hands the build the Docker socket, so anything it runs can read every environment variable and assume the service role. Off by default, and a PLAINTEXT variable whose name looks like a secret is refused.
aws-fis
FIS refuses a template with no stop condition, which reads like a guarantee - and source = 'none' is a legal stop condition meaning the experiment never halts by itself. Refused here, along with targets that grow at run time and an empty-target mode that reports success for having tested nothing.
aws-codeartifact
A repository with a public external connection serves whatever the public registry holds for any name it does not. This puts the connection on its own repository, reached through an upstream, and emits the origin-control commands Terraform cannot apply.
aws-appconfig
AppConfig exists to deploy a configuration slowly and roll it back automatically, and both halves are opt-in - the predefined AllAtOnce strategy is 100% of the fleet with zero bake time. Gradual here, and a precondition refuses an environment with no alarms, where automatic rollback has nothing to fire on.
ansible-aws-cli-v2
The AWS CLI v2 from the upstream zip, verified with gpg against the AWS CLI Team key (pinned by fingerprint, in a GnuPG home of its own) before it is unpacked. EL 10 has no package; most installs run curl | unzip and never read the signature. Pinned version, tab completion, and a live test that runs an API call to 'Unable to locate credentials'. Original role, live-tested on Rocky Linux 10.
aws-mwaa
webserver_access_mode defaults to PUBLIC_ONLY, and the Airflow UI is not a dashboard: anyone who reaches it can trigger a DAG, which is arbitrary Python running as the execution role. PRIVATE_ONLY here, all five log streams on, and a precondition refuses an unpinned requirements.txt or plugins.zip - where bucket write access is otherwise the same permission as code execution.