Prerequisites
Before you deploy OpenLM Platform, confirm that the AWS infrastructure you provisioned in Environment setup meets the following requirements.
Infrastructure checklist
Confirm the following services are provisioned and accessible from the EKS cluster:
| Service | Status to verify |
|---|---|
| SQL Server (Amazon RDS, or in the cluster) | Instance available, endpoint and credentials ready. For RDS, the security group allows traffic from the EKS cluster. |
| MongoDB | Atlas cluster or in-cluster deployment reachable, connection string available. |
| Kafka (Amazon MSK, or in the cluster) | Running, bootstrap address available. OpenLM Platform creates its topics after the installation. For the in-cluster option, see In-cluster Kafka. |
| Redis (Amazon ElastiCache, or in the cluster) | Available, primary endpoint and credentials ready. |
| EBS CSI driver | Installed on the EKS cluster. Verify with kubectl get pods -n kube-system -l app.kubernetes.io/name=aws-ebs-csi-driver. |
Database preparation
This section covers creating the SQL Server databases, preparing the reporting database, and the Kafka topics.
Create databases
Create the following databases on your SQL Server before deployment:
- 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 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.
Prepare 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 you haven't configured kubectl yet, run this command:
aws eks update-kubeconfig --name openlm-eks --region eu-central-1
Kubernetes namespace
Create the namespace for OpenLM Platform:
kubectl create namespace openlm
TLS certificate
Prepare your TLS certificate, then run this command to create a Kubernetes secret:
kubectl create secret tls openlm-lb-cert \
--key your-domain.key \
--cert your-domain.crt \
-n openlm
Custom CA certificate
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 (EBS CSI)
kubectl get storageclass
# Verify nodes are ready
kubectl get nodes
# Verify connectivity to SQL Server
kubectl run test-sql --rm -it --image=mcr.microsoft.com/mssql-tools -- /bin/bash
# Verify the Kafka bootstrap address is reachable
# (in-cluster: kafka.openlm-infrastructure.svc.cluster.local:9092)
kubectl run test-kafka --rm -it --image=bitnami/kafka -- kafka-broker-api-versions.sh --bootstrap-server <kafka-host>:<port>
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.