Skip to main content

Requirements

Check every row on this page before you start. Most failed installations come from a missing requirement: the installation itself rarely goes wrong.

Cluster​

Your cluster must meet these requirements:

ItemRequirement
KubernetesVersion 1.29 or newer. This guide covers Amazon EKS, Azure AKS, Red Hat OpenShift 4.18+ (including ROSA and ARO), and K3s.
Capacity for the standard component setThe pods request about 10 vCPU and 22 GiB of memory together and can grow to about 55 GiB. Plan at least 24 vCPU and 96 GiB of worker capacity, for example 3 nodes of 8 vCPU / 32 GiB. Sites with 100 license servers or more need more. See Sizing.
Pods per nodeAbout 85 pods in total, plus the API gateway and your cluster's own system pods. Check your cluster's pods-per-node limit: on EKS it depends on the instance type. See EKS.
Node OS settingsfs.inotify.max_user_instances of at least 8192 on every node. The default of 128 is too low when about 85 services start at the same time.
StorageA StorageClass that can create ReadWriteOnce volumes. OpenLM Platform needs three volumes of 50 MiB each.
IngressAn ingress controller (Traefik, ingress-nginx, or your cloud's controller) or OpenShift Routes. See Ingress.
PermissionsRights to create Deployments, Services, ConfigMaps, Secrets, Ingresses (or Routes), and PersistentVolumeClaims in the namespace openlm.

Data services​

Provide these four data services:

ServiceRequirement
SQL ServerSQL Server 2019 or newer, or Azure SQL Database / Amazon RDS for SQL Server. A SQL login that owns four databases (see Data services).
MongoDBMongoDB 6.0 or newer, preferably 7.0, with a user that can create databases. You don't need a replica set. Azure Cosmos DB and Amazon DocumentDB are not supported: they aren't fully MongoDB-compatible.
KafkaKafka 3.x or 4.x (KRaft or ZooKeeper). Plaintext or TLS. OpenLM Platform creates its own topics during installation.
RedisRedis 7.x or a compatible service (Amazon ElastiCache, Azure Cache / Azure Managed Redis). Plain or TLS, with a password.

Network access​

Open the following connections:

FromToWhy
Cluster nodespublic.ecr.aws (HTTPS)Pull the OpenLM images, unless you use a registry mirror
Cluster nodesdocker.tyk.io (HTTPS)Pull the API gateway image, unless you use a registry mirror
PodsSQL Server, MongoDB, Kafka, RedisData
PodsYour OpenLM Platform web address, https://openlm.example.comServices check sign-in tokens there. See Networking.
Users' browsersYour OpenLM Platform web address, port 443Use OpenLM Platform

OpenLM Platform makes no other outbound connections unless you switch on an integration that needs one, for example ServiceNow.

DNS name and certificate​

Prepare a name and a certificate for it:

  • DNS name: One DNS name for OpenLM Platform, for example openlm.example.com. Keep it under 50 characters.
  • TLS certificate: A certificate for that name. A certificate from a public certificate authority is easiest. A certificate from your company's own CA works too, with one extra step. Read TLS certificates before you choose.

Tools on your workstation​

Install these tools on your workstation:

ToolVersionUsed for
kubectl (or oc on OpenShift)matching your clusterEverything
helm3.12 or newerInstalling the charts
opensslanyGenerating passwords, checking certificates
sqlcmd, or SQL Server Management Studio (SSMS) or another SQL Server clientsqlcmd 18 or newerCreating databases, running the reporting scripts
base64anyEncoding the SQL password

Commands in this guide are written for a Linux or macOS shell (bash or zsh). On Windows, use WSL or a Linux jump host.

Check

Run these commands. Each one must print a version and no error:

kubectl version
helm version
kubectl auth can-i create deployments -n openlm

The last one must print yes. If the namespace doesn't exist yet, it can print no until you create it in step 1.

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.