What to build
Extend the Terraform to provision an EC2 instance that pulls poojithvsc/shopsphere:latest from Docker Hub via user-data, runs the app + Kafka as compose services, and connects to the Phase-11 RDS. RDS posture flips to private: publicly_accessible = false, security group now allows inbound only from the EC2's security group — proven by attempting psql from the laptop and getting a connection timeout. The full QA walkthrough runs end-to-end against http://<ec2-public-ip>:8080.
HITL — needs a Whizlabs lab session.
Full design in PLAN-002 §Phase 12.
Acceptance criteria
Blocked by
What to build
Extend the Terraform to provision an EC2 instance that pulls
poojithvsc/shopsphere:latestfrom Docker Hub via user-data, runs the app + Kafka as compose services, and connects to the Phase-11 RDS. RDS posture flips to private:publicly_accessible = false, security group now allows inbound only from the EC2's security group — proven by attemptingpsqlfrom the laptop and getting a connection timeout. The full QA walkthrough runs end-to-end againsthttp://<ec2-public-ip>:8080.HITL — needs a Whizlabs lab session.
Full design in PLAN-002 §Phase 12.
Acceptance criteria
code/terraform/ec2/(or extendsrds/): provisionst3.microAmazon Linux 2023, EC2 security group, IAM instance profile (no SSM permissions yet)compose.cloud.yml(app + Kafka), pullspoojithvsc/shopsphere:latest, brings up the stackpublicly_accessible = false, SG now allows ingress only from the EC2's SG (not laptop IP)terraform applyprovisions RDS + EC2 in one applyhttp://<ec2-public-ip>:8080/swagger-ui.htmlpsql -h <rds-endpoint>from the laptop times outterraform destroycleans up both RDS and EC2mvn verifystays greenarticles/drafts/phase-12-ec2-deploy.mdBlocked by