-
Notifications
You must be signed in to change notification settings - Fork 1
π³ Add Docker ECR Deployment Workflow #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
π³ Add Docker ECR Deployment Workflow #25
Conversation
β’ Multi-platform Docker builds (linux/amd64, linux/arm64) β’ ECR authentication and repository management with lifecycle policies β’ Container vulnerability scanning with Trivy and configurable security thresholds β’ Container image signing and attestation with cosign β’ Smart tagging strategies (latest, semantic, branch, custom) β’ Build cache optimization with registry and inline caching β’ Multi-stage build support with build arguments β’ Registry cleanup and automated image retention β’ Comprehensive input validation and security gates β’ Detailed deployment summary and artifact management π€ Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Pin sigstore/cosign-installer@v3 to commit SHA 398d4b0eeef1380460a10c8013a76f728fb906ac - Pin aquasecurity/trivy-action@master to commit SHA 77137e9dc3ab1b329b7c8a38c2eb7475850a14e8 - Addresses Aikido security recommendations for supply chain attack prevention
0d70817 to
d9ad97b
Compare
this is handled by a third party system
AdamJHall
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of small questions but good to go as is
| fi | ||
| echo "β ECR repository verified" | ||
|
|
||
| # Validate tag strategy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of doing string validation, can we use a choice input instead?
|
|
||
| # Add default build args | ||
| build_args="$build_args --build-arg BUILDKIT_INLINE_CACHE=1" | ||
| build_args="$build_args --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the BUILD_DATE, VCS_REF and VERSION as default args? Are the consumed by docker by default like BUILDKIT_INLINE_CACHE?
Summary
β’ Multi-platform Docker builds ποΈ - Build for linux/amd64, linux/arm64, and ARM variants
β’ ECR integration π¦ - Push images to existing ECR repositories
β’ Container signing βοΈ - Optional cosign-based image signing and attestation
β’ Smart tagging π·οΈ - Multiple strategies: latest, semantic, branch, custom
β’ Build optimization β‘ - Advanced caching with registry and inline cache support
Streamlined Docker deployment pipeline with multi-platform support and optimization features for containerized applications.
Important: The ECR repository must exist before running this workflow - the workflow will fail if the repository doesn't exist.
Usage examples: