Prerequisites
Before you deploy OpenLM Platform, confirm that the Azure infrastructure you provisioned in Environment setup meets the following requirements.
Infrastructure checklist
Confirm the following services are provisioned and accessible from the Azure Kubernetes Service (AKS) cluster:
| Service | Status to verify |
|---|---|
| SQL database (Azure SQL Managed Instance, or in the cluster) | Instance available, endpoint and credentials ready. For SQL Managed Instance, accessible from the AKS VNet (private endpoint or VNet integration). |
| MongoDB | In-cluster deployment running, connection string available. |
| Kafka | In-cluster deployment or Confluent Cloud running, bootstrap address available. OpenLM Platform creates its topics after the installation. For Confluent Cloud, ask OpenLM for the SASL connection settings. |
| Redis (Azure Cache for Redis, or in the cluster) | Instance available, connection string and credentials ready. |
| Azure Managed Disks | Storage classes configured in AKS for persistent volumes. Verify with kubectl get storageclass. |
Prepare the databases
This section covers creating the SQL Server databases, preparing the reporting database, and the Kafka topics.
Create databases
Before deployment, create the following databases on the SQL instance you prepared:
- Identity database: Stores user and authentication data.
- Operational database: Stores license server and usage data. The database name in the server must end with
_none(for example,openlm_operational_none). In the Helm values, configure the prefix without_none. - Directory Synchronization Service (DSS) database: Stores Directory Synchronization Service data.
- Reporting database: Stores reporting data.
Prepare the reporting database
OpenLM Platform creates the tables of the reporting database itself. You create its views after the installation, as described in Create the reporting views.
Kafka topics
You don't create the Kafka topics by hand. The kafkainitpod component of the OpenLM Platform chart creates them after the installation and again after every upgrade, as described in Install the platform.
Configure kubectl
If kubectl isn't connected to the cluster, get the cluster credentials:
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Create the Kubernetes namespace
Create the namespace for OpenLM Platform:
kubectl create namespace openlm
Create the TLS secret
Prepare your TLS certificate, then create a Kubernetes secret:
kubectl create secret tls openlm-lb-cert \
--key <your-domain>.key \
--cert <your-domain>.crt \
-n openlm
Replace <your-domain> with the name of your certificate files.
Trust a private certificate authority
If your organization uses internal certificate authorities, the OpenLM Platform components must trust your CA chain too, because they call the OpenLM Platform URL from inside the cluster. Mount the chain into them with global.deploymentCerts in the OpenLM Platform values, as described in Trust a private CA inside the cluster.
Verify the prerequisites
Run these checks before proceeding to Platform installation:
# Verify namespace exists
kubectl get namespace openlm
# Verify TLS secret
kubectl get secret openlm-lb-cert -n openlm
# Verify storage class (Azure Managed Disks)
kubectl get storageclass
# Verify nodes are ready
kubectl get nodes
# Verify infrastructure namespace (if Kafka/MongoDB are in-cluster)
kubectl get pods -n openlm-infrastructure
The documentation team might draft this page using a large language model. A technical writer reviews every page and verifies it against the product before publishing it. A human makes the final decision.