Skip to content

Infrastructure Overview

Olly runs the same service code in two environments: a local development stack driven by Docker Compose and Tilt, and a production stack on AWS EKS. The environments share the same Go service binaries, the same Goose migration files, and the same Kafka topic topology — the only differences are the managed services they connect to (Redpanda locally vs Amazon MSK, Postgres container vs Aurora Multi-AZ, Valkey container vs ElastiCache).

For local development, make local-up starts the full Docker Compose stack — PostgreSQL, Keycloak, Redpanda (Kafka), Temporal, OpenBao, OpenSearch, Mirth Connect, Mailpit, APISIX, and the OTel Collector. Tilt watches Go source files and automatically rebuilds and restarts individual services on change, with a real-time UI at http://localhost:10350. See Local Development for prerequisites and a full step-by-step guide.

In production, all Go microservices run as Kubernetes Deployments inside Amazon EKS. The data plane is fully AWS-managed: Aurora PostgreSQL Multi-AZ, Amazon MSK for Kafka, ElastiCache (Valkey) for caching, and OpenSearch Service for log analytics and provider search. Secrets are managed by OpenBao (a Vault-compatible open-source fork). The observability stack — Prometheus, Grafana, Loki, and Tempo — runs inside the cluster alongside the services. See Production (AWS) for the full topology and namespace structure. Note that AWS infrastructure is not yet provisioned; this is Phase 2 of the roadmap.

Olly Health Insurance Platform