Published on 2025-08-13 9:20 by Kevin Coyle
Devops let’s goooo
In June, we merged a small but important UX fix to stabilize the navigation dropdowns. Since then, we focused on hardening our infrastructure, clarifying deployment, and polishing a few aspects of the app. This post summarizes the most meaningful changes from my last post.
Much like this badge…
I think this Terrform stuff is all stuck together well.
Highlights
- Infrastructure as Code (Terraform)
- Finalized a full Terraform setup under
terraform/to provision the app’s AWS foundation: VPC, subnets, security groups, IAM, RDS, S3, ECR, ACM, and an EC2 module withuser_databootstrap. - Added environment-specific variables for
devandprod, plus consolidated variables and outputs. Deployment docs included.
- Finalized a full Terraform setup under
- Deployment and Ops
- Updated Docker assets and
docker-compose.prod.yml; addedbackend/Dockerfile.prodand annginx/nginx.conffor production reverse proxying. - Added
scripts/setup-aws-infrastructure.shand deployment examples (deploy-example.yml,main-example.yml).
- Updated Docker assets and
- Frontend and middleware
- Minor refinements to
src/components/Navigation.tsxand the community Q&A page atsrc/app/community/[questionId]/page.tsx. - Introduced
src/middleware.tsto support runtime behaviors at the edge (e.g., redirects/headers), paving the way for future platform features.
- Minor refinements to
- Developer experience
- Added a
Makefilefor common tasks and several example env/config files (.env.local.backup,env.prod.example). - Dependency housekeeping in
package.jsonandpackage-lock.json.
- Added a
By the numbers
- I’ve changed 54 files, 6181 insertions, 557 deletions
What this enables
- Repeatable infrastructure: Teams can stand up and evolve environments with code review and versioning.
- Clearer deployments: Docker, Nginx, and example pipeline files make the release path easier to follow and automate.
- Operational guardrails: Middleware and config defaults reduce drift and support future auth/routing behaviors.
Getting started (at a glance)
- Review the infrastructure docs in
terraform/TERRAFORM_DEPLOYMENT.mdandAWS_DEPLOYMENT.md. - Use the
Makefiletargets and example YAML files to scaffold CI/CD, andnginx/nginx.conffor production reverse proxy. - Sync local/env variables from the provided examples (
env.prod.example,.env.local.backup).
Written by Kevin Coyle
← Back to blog