Prerequisites
Before you deploy OpenLM Platform, confirm that the environment you prepared in Environment setup meets the following requirements.
Infrastructure checklist
Confirm the following services are running and accessible from the Kubernetes cluster:
| Service | Status to verify |
|---|---|
| SQL database | Server reachable, connection string available. Supported engines: SQL Server, MariaDB, or PostgreSQL (MariaDB for operational, PostgreSQL for reporting). |
| MongoDB | Reachable, connection string available. Running in-cluster on the infrastructure node. |
| Kafka | Cluster reachable, bootstrap address available. OpenLM Platform creates its topics after the installation. |
| Redis | Reachable, connection string and credentials available. |
| Storage class | At least one Kubernetes storage class available. Verify with kubectl get storageclass. |
Prepare the databases
This section covers creating the databases, preparing the reporting database, and the Kafka topics.
Create databases
Before deployment, create the following databases on your SQL server:
- 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 (PostgreSQL or SQL Server).
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.
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
kubectl get storageclass
# Verify nodes are ready
kubectl get nodes
# Verify infrastructure services are running
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.