Skip to content

Deploy to AKS

Status: Current | Last reviewed: 2026-06-12

Deploys to Azure Kubernetes Service.

Cluster

Aspect Value
Namespace trueserve
Helm release trueserve
Values file values-azure.yaml

One-time setup

  1. Create the AKS cluster with two node pools:
  2. default for app services.
  3. media for telephony, sized for rtpengine throughput. See media-pool-tuning.md.
  4. Provision managed services:
  5. Azure Database for PostgreSQL — Flexible Server with pgvector.
  6. Azure Cache for Redis.
  7. S3-compatible object storage for recordings/archive bundles, or Azure Blob behind an S3-compatible gateway.
  8. Azure Service Bus or in-cluster RabbitMQ.

Warning: Azure Service Bus is not AMQP-compatible with what async-agent uses (pika-style RabbitMQ AMQP). Using Service Bus requires a shim or sticking with RabbitMQ in cluster.

  1. Create the trueserve-master-key secret.
  2. Install:
  3. Application Gateway Ingress Controller (or nginx-ingress).
  4. Azure Key Vault Provider for Secrets Store CSI Driver.
  5. cert-manager.

Deploy

helm upgrade --install trueserve charts/trueserve-stack \
  -f charts/trueserve-stack/values-azure.yaml \
  --namespace trueserve --create-namespace

Note: values-azure.yaml may not exist yet for new customer envs. Copy values-aws.yaml and edit endpoints + secret refs.

conversation-api Blob storage swap

conversation-api and ai-manager currently require an S3-compatible object-storage API. Use an S3-compatible gateway in front of Azure Blob, or keep MinIO in-cluster for recordings and archive bundles until a native Azure Blob adapter is implemented.

Media stack on AKS

Azure Front Door does not preserve client IP for UDP, and Azure does not have a Global Accelerator equivalent for arbitrary UDP. SIP/RTP usually goes through a Public Standard Load Balancer with a static IP per region; multi-region anycast requires a third-party.

See also