Azure Self Hosting
This section explains how to setup and create resources for self-hosting Zerve on a pre-existing AKS cluster in Azure.
General Infrastructure
At this time, Azure Self-Hosting is possible only with an existing AKS cluster.
Storage Account and blob container
Zerve requires blob storage in order to store block state and user files. We recommend creating a separate storage account and container for this purpose using the installation steps below.
Artifact Registry
Zerve needs a container registry to store Docker images. We recommend creating a separate one for this purpose using the installation steps below.
IAM Identities
Application Service Principal
An identity that represents Zerve application in your Azure tenant.
Created by registering Zerve's multi-tenant app in your tenant. The service principal will be authorized to perform operations within your Azure account, such as scheduling compute jobs or managing canvas storage.
Execution Managed Identity
A user-assigned managed identity for compute jobs that Zerve schedules to execute code blocks.
This identity can be used to grant users' code blocks access to other Azure resources in your tenant.
Build Managed Identity
A user-assigned managed identity identity for build jobs.
This identity will be used to grant build jobs access to the blob container and container registry.
Azure Kubernetes Service
Zerve can use your existing AKS cluster to schedule build and compute jobs.
Cluster requirements:
Version 1.28 or higher.
Enabled Workload Identity
Enabled Microsoft Entra integration. Zerve will authenticate to the cluster using aforementioned service principal, whereas authorization will be carried out by Kubernetes.
Setup Instructions
Prerequisites
azclikubectlpointing to the existing AKS cluster used for Zervehelm
Cloud infrastructure
You can use az CLI and Azure Resource Manager to provision the necessary infrastructure.
Point your CLI to the subscription where Zerve resources should be created
Create a service principal in your tenant and get the application ID
Create a resource group for Zerve's infrastructure. For best performance, colocate it with your existing AKS cluster.
Set env vars referencing the existing AKS cluster by resource group name and cluster name
Deploy Zerve's ARM (Azure Resource Manager) template as a deployment stack:
Setup RBAC in your cluster by installing our helm chart:
Zerve Organization Self-Hosting Settings
Navigate to your organization's self-hosting settings in Zerve app.
Fill out the form with the following values:
Tenant ID: tenant ID of Zerve service principal
Storage Account Name
Bucket Name
Image Registry: login server of the container registry
Namespace:
zerveEndpoint: Control plane endpoint of AKS cluster
Service Account Token: leave empty
Exact values for all of the above should be available as deployment stack outputs. To find them, run the following command:
Certificate Authority Data: base64-encoded certificate used to verify the self-signed certificate presented by AKS cluster's control plane
Run the following command to find it:
Last updated

