Skip to content

docs(deployments): add AWS EC2 + Docker deployment example (#390)#824

Open
vaquarkhan wants to merge 4 commits into
apache:mainfrom
vaquarkhan:issue-390-ec2-docker
Open

docs(deployments): add AWS EC2 + Docker deployment example (#390)#824
vaquarkhan wants to merge 4 commits into
apache:mainfrom
vaquarkhan:issue-390-ec2-docker

Conversation

@vaquarkhan

Copy link
Copy Markdown
Contributor
  • Dockerfile + docker-compose for local development parity
  • FastAPI server wrapping the Burr counter application
  • Production-grade Terraform with modular structure (networking + compute)
  • Security: IMDSv2 enforced, EBS encryption, CIDR validation, no 0.0.0.0/0 ingress
  • Environment-specific tfvars (dev/prod)
  • RST docs page wired into deployment index
  • 40 automated tests (structure, license headers, app logic, security checks)
  • Full README with quickstart, deploy, verify, teardown, and security guidance

[Short description explaining the high-level reason for the pull request]

Changes

How I tested this

Notes

Checklist

  • PR has an informative and human-readable title (this will be pulled into the release notes)
  • Changes are limited to a single goal (no scope creep)
  • Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
  • Any change in functionality is tested
  • New functions are documented (with a description, list of inputs, and expected output)
  • Placeholder code is flagged / future TODOs are captured in comments
  • Project documentation has been updated if adding/changing functionality.

- Dockerfile + docker-compose for local development parity
- FastAPI server wrapping the Burr counter application
- Production-grade Terraform with modular structure (networking + compute)
- Security: IMDSv2 enforced, EBS encryption, CIDR validation, no 0.0.0.0/0 ingress
- Environment-specific tfvars (dev/prod)
- RST docs page wired into deployment index
- 40 automated tests (structure, license headers, app logic, security checks)
- Full README with quickstart, deploy, verify, teardown, and security guidance
@vaquarkhan

Copy link
Copy Markdown
Contributor Author

Testing performed:

All 40 pytest tests pass (
test_ec2_docker_example.py
)
terraform fmt -check -recursive clean
terraform init -backend=false && terraform validate passes
Deployed to real AWS (us-east-1, t3.micro): terraform apply provisions 5 resources
Docker builds on-instance in ~2 min, container starts with --restart=unless-stopped
Verified via SSM:
curl localhost:8000/health returns {"status":"ok"}
curl -X POST localhost:8000/run -d '{"number":3}' returns {"counter":3,"counter_limit":3,"__SEQUENCE_ID":3,"__PRIOR_STEP":"result"}
terraform destroy cleanly removes all resources
All files have Apache license headers, no 0.0.0.0/0 in ingress rules, IMDSv2 enforced, EBS encrypted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/examples Relates to /examples area/website burr.apache.org website

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant