Skip to main content

Helm chart reference for Lumi Enterprise on OpenShift

info

This information applies to Imply Lumi Enterprise deployments on OpenShift.
Lumi Enterprise on OpenShift is an early access feature.

This topic documents the values.yaml fields you can configure when deploying Lumi Enterprise on OpenShift bare metal, grouped by functional area.

Database connection​

MySQL database for the control plane.

FieldTypeDefaultDescription
database.hoststring""Hostname of the control plane metadata store database. MySQL 8.0 or newer.
database.portint3306Port of the control plane metadata store database.
database.usernamestring""Username for the control plane metadata store database
database.passwordstring""Password for the control plane metadata store database
database.dataPlaneobject{}Gives the data plane its own metadata store database. Accepts the same host, port, username, and password keys. Fields left empty fall back to the control plane values above.

Deployment identity​

Imply-provided identifiers that link your deployment with your account.

FieldTypeDefaultDescription
tenantIdstring""Tenant ID provided by Imply
apiKeystring""API key provided by Imply
customerIdstring""Customer ID provided by Imply

Cluster nodes​

Compute and storage settings for each AApache® Druid node type in your cluster.

FieldTypeDefaultDescription
broker.instanceTypestringm7g.xlargeInstance type for the broker node
broker.resourcesobject{}Explicit resource requests and limits for the broker node
broker.countint2Number of broker nodes to deploy
broker.storageVolumeobject{}Scratch volume for the broker node. Each entry takes a maxSize and a volume.
coordinator.instanceTypestringm7g.xlargeInstance type for the coordinator node
coordinator.resourcesobject{}Explicit resource requests and limits for the coordinator node
coordinator.countint2Number of coordinator nodes to deploy
data.instanceTypestringi3en.2xlargeInstance type for the data node
data.resourcesobject{}Explicit resource requests and limits for the data node. Requires storageVolumes and tmpStorageVolume to be set.
data.countint1Number of data nodes to deploy
data.storageVolumeslist[]Segment cache volumes for the data node. Required when resources is set. Each entry takes a maxSize and a volumeClaimTemplate or a volume.
data.tmpStorageVolumeobject{}Scratch volume for the data node. Required when resources is set. Each entry takes a maxSize and a volume.
virtualobject{}Stub historical tier. Required when virtualCompute.enabled is true; unused otherwise. Accepts the same keys as data.
ingest.instanceTypestringpeon-xlargeInstance type for the ingestion node
ingest.resourcesobject{}Explicit resource requests and limits for the ingestion node. Requires storageVolume to be set.
ingest.storageVolumeobject{}Scratch volume for the ingestion node. Each entry takes a maxSize and a volume. Required when resources is set.
ingest.schedulerNamestring""Scheduler for ingestion task pods. Uses the default scheduler if left empty.

Virtual compute​

Virtual compute resources that scale up to serve queries against data outside the hot tier on demand.

FieldTypeDefaultDescription
workerPoolslist[]Worker pools for virtual compute pools. Each entry takes a unique name, plus the same resources and storageVolume keys as ingest.
virtualCompute.enabledbooleanfalseEnables virtual compute pools. Requires a virtual tier and at least one tshirtSizes entry.
virtualCompute.tshirtSizeslist[]Custom t-shirt sizes for virtual compute worker pools. Required if virtualCompute.enabled is true. Each entry takes a unique size, a nodeCount, a workerPool matching a workerPools name, and optionally a name and maxConcurrency.

Object storage​

Deep storage settings for your Druid segments.

FieldTypeDefaultDescription
objectStore.s3.accessKeystring""Access key for the deep storage bucket
objectStore.s3.secretKeystring""Secret key for the deep storage bucket
objectStore.s3.bucketstring""Bucket used for deep storage
objectStore.s3.prefixstring""Key prefix within the deep storage bucket
objectStore.s3.endpointstring""Overrides the URL for the S3 endpoint
objectStore.s3.regionstring""Overrides the AWS region. Required for non-AWS, self-hosted object stores.
objectStore.s3.usePathStylebooleanfalseUse path-style S3 addressing instead of virtual-hosted style.

Ingress​

Base domain for Lumi. DNS and any TLS certificates must also cover *.lumi.example.com to include the per-service hostnames.

FieldTypeDefaultDescription
ingress.hoststring""Base domain name to serve Lumi from. For example, if set to lumi.example.com, Lumi is served from lumi.example.com and its services from subdomains of it.
ingress.classNamestringkongIngress class for Lumi gateway. Set a unique value only if this cluster already runs its own Kong.

Gateway​

Expose the gateway to external traffic, including its service type, ingress, and autoscaling.

FieldTypeDefaultDescription
gateway.service.typestringClusterIPService type for the Lumi gateway. One of ClusterIP, LoadBalancer, or NodePort.
gateway.service.annotationsobject{}Annotations for the Lumi gateway service
gateway.ingress.enabledbooleanfalseCreate an ingress for the Lumi gateway
gateway.ingress.classNamestring""Ingress class for the Lumi gateway ingress
gateway.ingress.annotationsobject{}Annotations for the Lumi gateway ingress
gateway.ingress.hostslist[<ingress.host>, *.<ingress.host>, *.spl.<ingress.host>]Hosts for the Lumi gateway ingress
gateway.autoscaling.enabledbooleantrueEnable autoscaling for the Lumi gateway
gateway.autoscaling.minReplicasint2Minimum number of Lumi gateway replicas for autoscaling
gateway.autoscaling.maxReplicasint10Maximum number of Lumi gateway replicas for autoscaling
gateway.autoscaling.metricslist[]HPA metrics for the Lumi gateway. Uses the iow-gateway chart default if empty.
gateway.autoscaling.behaviorobject{}HPA scaling behavior for the Lumi gateway. Uses the iow-gateway chart default if empty.

Authentication​

Initial admin user and the key pair Lumi uses to sign OIDC tokens.

FieldTypeDefaultDescription
auth.usernamestring""Email address for the initial admin user. Used as the admin username to log in to Lumi.
auth.passwordstring""Password for the initial admin user. Lumi uses this as the system admin password. Password reset is not yet supported.
auth.rsa.privateKeystring""RSA private key used to sign auth tokens
auth.rsa.publicKeystring""RSA public key used to verify auth tokens
auth.autoscaling.minReplicasint2Minimum number of auth service replicas for autoscaling
auth.autoscaling.maxReplicasint10Maximum number of auth service replicas for autoscaling
auth.autoscaling.metricslist[]HPA metrics for the auth service
auth.autoscaling.behaviorobject{}HPA scaling behavior for the auth service

Registry and pull secrets​

Location for Lumi container images and Helm charts.

FieldTypeDefaultDescription
registry.pullSecretstring""Name of an existing image pull secret for registry.containerRepo and registry.chartRepo
registry.containerRepostringregistry-1.docker.io/implyRegistry and repository the container images are pulled from
registry.chartRepostringoci://registry-1.docker.io/implyRegistry the subcharts are pulled from
registry.helmChartSuffixstring-chartSuffix appended to subchart names in registry.chartRepo
bootstrap.image.repositorystringiow-bootstrapRepository for the bootstrap image, relative to registry.containerRepo
bootstrap.image.tagstringChart.AppVersionTag for the bootstrap image
updateClient.image.repositorystringiow-update-clientRepository for the update-client image, relative to registry.containerRepo
updateClient.image.tagstring20260715.4265.0Tag for the update-client image

Kafka​

Streaming ingestion settings.

FieldTypeDefaultDescription
kafka.bootstrap.serversstring""Bootstrap servers for the Kafka cluster backing ingestion
kafka.security.protocolstringSASL_SSLSecurity protocol used to connect to the Kafka cluster
kafka.sasl.mechanismstringSCRAM-SHA-512SASL mechanism used to authenticate against the Kafka cluster
kafka.sasl.usernamestring""SASL username for the Kafka cluster
kafka.sasl.passwordstring""SASL password for the Kafka cluster

Event collector​

Splunk-facing ingestion endpoint for events sent into Lumi.

FieldTypeDefaultDescription
eventCollector.s2s.service.typestringClusterIPService type for the event collector S2S listener. One of ClusterIP, LoadBalancer, or NodePort.
eventCollector.s2s.service.annotationsobject{}Annotations for the event collector S2S service
eventCollector.s2s.service.labelsobject{}Labels for the event collector S2S service
eventCollector.s2s.tls.secretNamestring""Name of a kubernetes.io/tls secret. Uses plain TCP if not set.
eventCollector.resourcesobject{"limits":{"cpu":"1500m","memory":"3G"},"requests":{"cpu":"1500m","memory":"3G"}}Resource requests and limits for the event collector service
eventCollector.autoscaling.minReplicasint2Minimum number of event collector replicas for autoscaling
eventCollector.autoscaling.maxReplicasint50Maximum number of event collector replicas for autoscaling
eventCollector.autoscaling.metricslist[]HPA metrics for the event collector service
eventCollector.autoscaling.behaviorobject{}HPA scaling behavior for the event collector service

Manager​

Resource settings for the service that manages your Druid cluster's lifecycle.

FieldTypeDefaultDescription
manager.replicaCountint2Number of manager service replicas
manager.resourcesobject{"requests":{"cpu":"300m","memory":"500M"}}Resource requests and limits for the manager service

RBAC​

Kubernetes ClusterRole and ClusterRoleBinding created for Lumi.

FieldTypeDefaultDescription
rbac.createbooleantrueCreate the ClusterRole and ClusterRoleBinding
rbac.annotationsobject{}Annotations for the RBAC resources
rbac.labelsobject{}Labels for the RBAC resources
rbac.namestring""Name of the ClusterRoleBinding to use. If not set and rbac.create is true, a name is generated using the fullname template.

Service account​

The Kubernetes service account for Lumi pods.

FieldTypeDefaultDescription
serviceAccount.createbooleantrueCreate the service account
serviceAccount.annotationsobject{}Annotations for the service account
serviceAccount.labelsobject{}Labels for the service account
serviceAccount.namestring""Name of the service account. If not set and serviceAccount.create is true, a name is generated using the fullname template.

Learn more​

See the following topics for more information: