Production-ready example of deploying a Flask application to AWS EKS using Terraform and Helm.
# Deploy infrastructure
cd terraform/aws_infra
terraform init && terraform apply
# Configure kubectl
aws eks update-kubeconfig --name simple-eks-cluster --region eu-west-1
# Deploy application
cd ../production
terraform init && terraform apply -var="image_tag=1.0.0"app/- Flask applicationhelm/simplewebapp/- Helm chartterraform/aws_infra/- EKS cluster infrastructureterraform/production/- Production environmentterraform/staging/- Staging environment
- AWS CLI configured
- Terraform >= 1.0
- kubectl
- Helm >= 3.0
- Update
terraform/{env}/values-{env}.yamlwith your image repository - Set base64-encoded secrets in values files
- Copy
terraform.tfvars.exampletoterraform.tfvarsand configure
See DEPLOYMENT.md for detailed instructions.
MIT