An Azure platform for running a service on AKS with Terraform, Argo CD, CI, observability and incident handling.
View the Project on GitHub Franklindot04/production-platform-Azure
No release has been published. This page says how release notes are written and holds the notes of the first release, which is planned and not tagged.
Each release has four parts:
The changelog (changelog.md) lists what is on main. Release notes are written when a release is tagged.
The first release would hold the platform as it is on main: Terraform for the dev environment, an AKS session layer that is created and destroyed in a session, a sample service delivered through Argo CD, metrics and traces, SLOs with burn-rate alerts, runbooks and a postmortem. It has been run in two live sessions. No cluster is running now.
See the Unreleased section of changelog.md.
From Session 2 results, not tested:
slow-requests.kql with real slow requestsOpen issue: #98, a node drain does not complete on the two node cluster.
From the runbook index, the runbooks that have not been exercised: latency-burn, pod-not-ready, argocd-drift, network-policy-blocks-service, key-vault-mount-fails, image-pull-refused and session-leftovers.
Other limits are in architecture.md: the 4 vCPU regional quota, the two node pool, and staging and prod, which are planned.
The run sheet is in session-2.md. The commands and the settings they need are in the infrastructure README.
./infrastructure/session.sh check exits 0.TF_VAR_api_authorized_ip_ranges and the admin group in TF_VAR_cluster_admin_group_object_id. Both are set at run time and are not stored../infrastructure/session.sh up. Read the plan../infrastructure/session.sh up --apply../infrastructure/session.sh bootstrap./healthz answers 200 on the ingress../infrastructure/session.sh down, then ./infrastructure/session.sh down --yes, then ./infrastructure/session.sh check. The session ends when check exits 0.In Session 2 the new cluster reached Healthy with no manual step after bootstrap, 772 seconds after the start.