Skip to content

Azure

Nothing here is required. The engine runs on a laptop and in a GitHub Actions runner with no cloud account. This is for running the control plane and a shared environment pool yourself.

AF-INF-001 The cloud API returned a quota error for standardDSv5Family in
eastus.
Next: Request more standardDSv5Family in eastus, then run the command again.

The first thing to check on a new subscription, before anything else, because the default limits are low and a quota increase can take a day to be approved.

Terminal window
az vm list-usage --location eastus -o table
az quota list --scope /subscriptions/<id>/providers/Microsoft.Compute/locations/eastus

Ask for the family the node pool uses, not the total. A subscription can have plenty of total cores and none of the family a pool wants, and the error names which.

Everything created is in a resource group prefixed af- and tagged project=antifailure. That is what makes it safe to clean up: a delete scoped to that tag cannot reach anything else in the subscription.

PieceService
Control planeContainer Apps or AKS
Its PostgresAzure Database for PostgreSQL, flexible server
Environment poolAKS, one namespace per environment
Golden storageBlob storage
SecretsKey Vault

The Kubernetes runtime is not built. runtime.provider: kubernetes is named in the manifest schema and refused at startup with a message saying so, rather than quietly giving you containers on whichever machine ran af.

So today this page covers running the control plane on Azure, which works, and the environment pool, which does not exist yet. Said plainly here because a self hosting page that described an architecture nobody can run would be worse than a short one.

Related: the control plane, configuration.