v0.6.0
New: Azure Kubernetes Service (AKS) emulation (#111, closes #50)
Microsoft.ContainerService/managedClusters ARM management plane with two backends:
| Backend | When | What works |
|---|---|---|
| stub (default) | always | terraform apply, az aks list, azlocal aks ..., mock kubeconfig (kubectl will not connect) |
| real (k3s in Docker) | AKS_BACKEND=k3s + Docker daemon |
everything above + a real rancher/k3s cluster per AKS resource; kubectl apply actually deploys pods |
Mirrors the ACI Docker pattern, so users do not need to install k3d / kind / minikube.
CLI
azlocal aks create --resource-group RG --name N [--node-count 1] [--kubernetes-version 1.30.0]
azlocal aks list --resource-group RG
azlocal aks show --resource-group RG --name N
azlocal aks delete --resource-group RG --name N
azlocal aks get-credentials --resource-group RG --name N [--file PATH|-] [--overwrite-existing]
get-credentials defaults to merging into ~/.kube/config like real az aks does.
Lifecycle coverage
| Trigger | Cleanup behavior |
|---|---|
terraform destroy / azlocal aks delete / direct DELETE |
container removed immediately |
| Resource group cascade delete | every cluster's container in that RG removed |
miniblue SIGTERM / SIGINT / docker stop |
every running k3s container torn down before miniblue exits |
miniblue SIGKILL / OOM / crash |
next start with AKS_BACKEND=k3s reaps orphans |
PERSISTENCE=1 restart |
matching containers preserved; same kubeconfig still works |
New full Docker image variant
Default moabukar/miniblue:latest stays scratch (~9MB). Real-backend users (ACI, AKS) can build the full target which adds the docker CLI:
docker build --target=full -t miniblue:full .
docker run -v /var/run/docker.sock:/var/run/docker.sock \
-p 4566:4566 -p 4567:4567 -e AKS_BACKEND=k3s miniblue:fullOther changes
- New dedicated CI pipeline
.github/workflows/aks-e2e.ymlthat runs Terraform apply against the AKS example and a real-backend k3s smoke (DinD on the runner) on AKS-touching PRs and push to main - Resource group cascade delete now cleans up child AKS resources properly
cmd/minibluegraceful shutdown propagates to AKS so k3s containers do not leak past miniblue's lifetime- 27 services total (was 26); see
azlocal health
Upgrading
docker pull moabukar/miniblue:0.6.0
brew upgrade miniblueTry it:
azlocal group create --name myRG --location eastus
azlocal aks create --resource-group myRG --name dev --node-count 1
azlocal aks list --resource-group myRGKnown limitation
The real backend always runs k3s v1.30.14. If you PUT a cluster with a different kubernetesVersion the ARM response will echo it back but kubectl version will report the actual k3s version (a WARNING log fires when this happens). Per-version k3s images is on the roadmap for v0.7.