Public Transit Kubernetes Platform
Problem
A public-transit platform ran on Docker Swarm. More than 20 customer instances, rollouts by hand. One mistake hit too many tenants at once.
Constraints
Tenants had to stay isolated. Deploys had to be automated. SBOM, Vault, DefectDojo in a government setting. No transit-authority name.
Architecture
Migration onto managed Kubernetes. Terraform, Helm, GitLab CI/CD. One pipeline per instance, not one script for everyone.
Cutover
Tenant by tenant, not a big bang. Rollback per instance. The internal team keeps the pipeline after handover.
20+ tenants on the migrated platform, fully automated deploys.