Recommended managed services
| Component | Azure service | Notes |
|---|---|---|
| Kubernetes | AKS | 3–5 nodes, ≥ Standard_D4s_v4 (4 vCPU / 16 GB), zone-redundant, cluster autoscaler enabled. |
| MongoDB | MongoDB Atlas (preferred), or Cosmos DB API for MongoDB | Cosmos has version/feature gaps — validate with Prisme.ai first. See MongoDB. |
| PostgreSQL (alternative to Mongo) | Azure Database for PostgreSQL — Flexible Server with Entra ID passwordless auth. See PostgreSQL. | |
| Elasticsearch | Elastic Cloud on Azure or self-managed Elasticsearch on AKS via ECK. See Elasticsearch. | |
| Redis | Azure Managed Redis. See Redis. | |
| Object storage | Azure Blob Storage. Two containers are enough: models and uploads (the latter serves both public and private files, proxied by the api-gateway). Add a third public container fronted by Azure CDN / Front Door only if you want public assets served directly from a CDN. | |
| File storage (PVC RWX) | Azure Files with zone-redundant storage (ZRS), Premium tier, via CSI driver. | |
| Ingress | Application Gateway Ingress Controller (AGIC) or NGINX. | |
| TLS / Certificates | Azure Key Vault + cert-manager, or AGIC + Key Vault TLS. | |
| Secrets | Azure Key Vault + Secrets Store CSI Driver or External Secrets Operator. | |
| Identity | Microsoft Entra ID Workload Identity (federated credentials). |
Persistent storage
The shared RWX PVC (used byprismeai-functions) must be backed by Azure Files with ZRS. Premium tier recommended for hot workloads.
Infrastructure as Code
Use Bicep, ARM templates or the Terraformazurerm provider — Azure’s documentation is the canonical reference. Prisme.ai doesn’t ship a dedicated Azure IaC bundle.
DNS and TLS
Create two records (Azure DNS or your registrar):Microsoft Entra ID passwordless auth
Entra ID lets you replace static passwords for Redis and PostgreSQL with short-lived tokens, using system-assigned or user-assigned managed identities.Common setup
-
Create a managed identity:
-
Wire the identity to AKS. Pick one:
Option A — bind to the cluster (simpler, applies to all workloads):
Then set every
azureSystemIdentity: truein your Helm values. Option B — federated credentials (per service account, recommended):Then set everyAll backend services (everything exceptprismeai-console) needserviceAccount.name: prismeai-backends-sain your Helm values. ReplaceCORE_NAMESPACEandAPPS_NAMESPACEwith your namespace names.azureManagedIdentityClientIdin your Helm values to the managed identity’s clientId.
Redis
- Open your Azure Managed Redis instance.
- Go to Settings → Authentication.
- Enable Microsoft Entra ID authentication and select the managed identity.
PostgreSQL
-
Connect with your Entra admin user:
-
Create a Postgres user attached to the managed identity (same name):
-
Grant permissions:
-
In your Helm values, set the managed identity name as the user for all three PostgreSQL clients:
global.storage.permissions.userprismeai-api-gateway.storage.users.userprismeai-runtime.storage.collections.user
Ingress annotations
Application Gateway exposes two distinct settings:- Backend request timeout (≈ 60 s, under the api-gateway server keep-alive of 70 s) — socket reuse between client requests.
- Idle request timeout (≈ 300 s) — kill an in-flight request only after this much inactivity, so SSE / long LLM streams aren’t dropped.
Next Steps
Install with Helm
Configure values and deploy core + apps namespaces.
Databases
PostgreSQL or MongoDB, Redis, Elasticsearch or OpenSearch.
Install products
Fresh-install walkthrough.
Migration v27
Migrate an existing instance to v27.