- Do a complete default install end-to-end.
- Do a complete managed-services install end-to-end.
- Terraform notes last.
0) Install and verify tools
macOS
Windows (PowerShell)
Usewinget:
Verify tools
1) Sign in to Azure
During
az login, Azure CLI may ask you to choose a subscription by index (for example 1 or 2). That is expected.2) Use one test profile for the whole guide
Use these same variables throughout this page:3) Create and connect to AKS (end-to-end first section)
Time guide (normal ranges)
- Resource group create: ~5-15 seconds
- AKS create (
3nodes): ~4-8 minutes - Get credentials + node check: ~10-30 seconds
4) Path A - default chart install (in-cluster Postgres + Redis)
This is the fastest way to validate Convoy on AKS.Time guide
- Helm install: ~30-90 seconds
- Pods fully ready (first boot): ~2-6 minutes
5) Path B - managed Postgres + Redis install (same AKS cluster)
Use a separate namespace/release so you can test both paths cleanly.5.1 Provision managed services in Azure
Time guide
- Postgres Flexible Server create: ~5-12 minutes
- Redis create: ~5-12 minutes
Azure Redis can be slower than other steps. Waiting up to ~15 minutes can still be normal.
5.2 Create Kubernetes secrets
5.3 Create values-aks.yaml
Get the exact values first:
externalDatabase.host-> Postgres FQDN from AzureexternalDatabase.port->5432externalDatabase.database->convoy(or your created DB name)externalDatabase.username-> Postgres admin/user from AzureexternalDatabase.secret->convoy-postgres(Kubernetes Secret with DB password)externalRedis.host-> Redis hostname from AzureexternalRedis.port->6380(TLS)externalRedis.scheme->redissexternalRedis.secret->convoy-redis(Kubernetes Secret with Redis key/password)
values-aks.yaml
5.4 Install managed release
6) Troubleshooting (AKS-specific)
Postgres or Redis connection failures
Check:values-aks.yamlhost/port/scheme values- Secret names and passwords (
convoy-postgres,convoy-redis) - AKS outbound network access to Postgres/Redis
- TLS settings (
sslmode=requirefor Postgres,rediss+6380for Redis TLS)
Migration error: pgcrypto is not allow-listed
If you see this during wait-for-migrate:
ERROR: extension "pgcrypto" is not allow-listed for users in Azure Database for PostgreSQL
run:
FailedAttachVolume / LinkedAuthorizationFailed
Grant the failing identity role on the AKS node resource group:
7) Upgrade and cleanup
Upgrade managed release:8) Test both installs
Run these checks so you can confirm both releases are healthy.8.1 Check pods and rollouts
Running and all rollout checks report successfully rolled out.
8.2 Probe default release health endpoints
200 on all four endpoints.
8.3 Probe managed release health endpoints
200 on all four endpoints.
8.4 Optional: check recent warning events
8.5 Open and log into each install
Port-forward the default release:http://127.0.0.1:18080
http://127.0.0.1:18081
9) Terraform (last)
If you use Terraform, provision these first:- AKS cluster
- PostgreSQL server +
convoydatabase - Redis instance
- Networking rules for AKS to reach Postgres/Redis
10) Clean up test installs
10.1 Remove Kubernetes releases and namespaces
10.2 Remove Azure test infrastructure
If you used the test profile from this guide, delete the whole resource group:az group exists returns false.