Skip to main content

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:

ServiceStatus 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.
MongoDBAtlas 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 driverInstalled 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.