How meetdav33/aws-cicd-demo-infra works
This repository defines AWS infrastructure for a separate application repository. Its documented workflow runs from a push to the application’s main branch through GitHub Actions OIDC authentication, artifact upload, SSM deployment to EC2, and delivery through an ALB. Terraform also generates the application files and deployment workflow. The README documents these relationships, but no Terraform source excerpts were available to verify finer-grained resource wiring.
Main entry points: ec2.tf EC2 Instance · iam.tf Actions IAM Role · alb.tf Application Load Balancer · s3.tf Deployment S3 Bucket
Components 14
Generated App Files
- Generated Workflow And Page
generated_files.tf - ZIP Artifact
Identity And Permissions
- GitHub OIDC Provider
oidc.tf - Actions IAM Role
iam.tf - EC2 Role And Profile
iam.tf
Deployment Runtime
- Deployment S3 Bucket
s3.tf - Systems Manager
ec2.tf - EC2 Instance
ec2.tf
Web Serving
- Apache Web Server
ec2.tf - Security Groups
security-group.tf - Application Load Balancer
alb.tf
Other components
- Application Repository
- GitHub Actions
- Internet User
Connections 19
- Generated Workflow And Page → Application Repository: copied into
- Application Repository → GitHub Actions: push triggers
- GitHub Actions → ZIP Artifact: creates ZIP
- GitHub Actions → GitHub OIDC Provider: authenticates through
- GitHub OIDC Provider → Actions IAM Role: trusts identity
- GitHub Actions → Actions IAM Role: assumes role
- Actions IAM Role → Deployment S3 Bucket: permits upload
- Actions IAM Role → Systems Manager: permits command
- GitHub Actions → Deployment S3 Bucket: uploads artifact
- GitHub Actions → Systems Manager: sends deployment command
- EC2 Role And Profile → EC2 Instance: attached to
- EC2 Instance → Systems Manager: managed by
- Systems Manager → EC2 Instance: dispatches command
- EC2 Instance → Deployment S3 Bucket: downloads artifact
- EC2 Instance → Apache Web Server: updates web page
- Application Load Balancer → EC2 Instance: routes traffic
- Internet User → Application Load Balancer: requests page
- Security Groups → EC2 Instance: controls access
- Security Groups → Application Load Balancer: controls access