Skip to main content

API Reference

Resource Types:

LHCanaryAggregator

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHCanaryAggregatortrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHCanaryAggregator.spec

↩ Parent
NameTypeDescriptionRequired
imagestring

The Docker Image to use

true
imagePullPolicyenum

Image Pull Policy for the Canary Image


Enum: Always, IfNotPresent, Never

true
kafkaobject

Configures access to the Kafka cluster

true
storageobject

Configures storage for the LHCanary Statefulset

true
defaultLabelsmap[string]string

Labels to put on all created resources

false
podMonitorobject

Configures PodMonitor resources for the Aggregator

false
replicasinteger

Number of replicas for the LH Canary Statefulset


Minimum: 1

false

LHCanaryAggregator.spec.kafka

↩ Parent

Configures access to the Kafka cluster

NameTypeDescriptionRequired
lhKafkaRefobject

Points to an LHKafka Cluster

false
partitionsinteger

Number of partitions to use for the Canary's internal Kafka topics


Minimum: 1

false
replicationFactorinteger

Replication factor for the Canary Kafka Topics


Minimum: 0

false

LHCanaryAggregator.spec.kafka.lhKafkaRef

↩ Parent

Points to an LHKafka Cluster

NameTypeDescriptionRequired
clusterWideQuotasobject

Quotas for the Canary. Includes Metronomes as well as the Aggregator since both share the same credentials.

true
clusterNamestring

The name of the LHKaka resource that the Aggregator connects to

false

LHCanaryAggregator.spec.kafka.lhKafkaRef.clusterWideQuotas

↩ Parent

Quotas for the Canary. Includes Metronomes as well as the Aggregator since both share the same credentials.

NameTypeDescriptionRequired
consumerThroughputPerSecondint or string

The throughput in bytes per second that may be consumed by this Kafka principal

true
producerThroughputPerSecondint or string

The throughput in bytes per second that may be produced by this Kafka principal

true

LHCanaryAggregator.spec.storage

↩ Parent

Configures storage for the LHCanary Statefulset

NameTypeDescriptionRequired
storageClassNamestring

The name of the storageclass with which to provision storage for the server

true
volumeSizeint or string

The size of the persistent volume.

true

LHCanaryAggregator.spec.podMonitor

↩ Parent

Configures PodMonitor resources for the Aggregator

NameTypeDescriptionRequired
podMonitorLabelsmap[string]string

Labels to add to the generated PodMonitor resources

false

LHCanaryAggregator.status

↩ Parent
NameTypeDescriptionRequired
observedGenerationinteger
false
problemsstring
false

LHCanaryMetronome

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHCanaryMetronometrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHCanaryMetronome.spec

↩ Parent
NameTypeDescriptionRequired
aggregatorRefobject

Specifies the LHCanaryAggregator for this Metronome

true
lhClusterobject

Specifies the LittleHorse Cluster to monitor

true
replicasinteger

Number of metronome replicas to deploy

true
storageobject

Storage Configuration for the Metronome

true
additionalConfigsmap[string]string

Configurations to pass to the LHCanaryMetronome.

false
defaultLabelsmap[string]string

Labels to put on all created resources

false
imagestring

The docker image for the LH Canary


Default: ghcr.io/littlehorse-enterprises/littlehorse/lh-canary:master

false
imagePullPolicyenum

ImagePullPolicy for the LH Canary


Enum: Always, IfNotPresent, Never

false

LHCanaryMetronome.spec.aggregatorRef

↩ Parent

Specifies the LHCanaryAggregator for this Metronome

NameTypeDescriptionRequired
namestring

Name of the LHCanaryAggregator that should aggregate beats from this Metronome.

false

LHCanaryMetronome.spec.lhCluster

↩ Parent

Specifies the LittleHorse Cluster to monitor

NameTypeDescriptionRequired
externalClusterRefobject

Specifies a LittleHorse Cluster not managed by the same Operator as this Metronome

false

LHCanaryMetronome.spec.lhCluster.externalClusterRef

↩ Parent

Specifies a LittleHorse Cluster not managed by the same Operator as this Metronome

NameTypeDescriptionRequired
apiHoststring

The API Host of the LH Cluster to monitor

true
apiPortinteger

The API Port of the LH Cluster to monitor

true
listenerNamestring

The Listener Name to connect to

false
tenantIdstring

The Tenant to use


Default: default

false

LHCanaryMetronome.spec.storage

↩ Parent

Storage Configuration for the Metronome

NameTypeDescriptionRequired
storageClassNamestring

The name of the storageclass with which to provision storage for the server

true
volumeSizeint or string

The size of the persistent volume.

true

LHCanaryMetronome.status

↩ Parent
NameTypeDescriptionRequired
observedGenerationinteger
false
problemsstring
false

LHCluster

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHClustertrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHCluster.spec

↩ Parent
NameTypeDescriptionRequired
kafkaobject
true
serverobject
true
dashboardobject

Specifies to create Dashboard resources for the cluster

false
defaultLabelsmap[string]string
false
internalCommsIssuerobject

Specifies cert-manager issuer to be used for internal communication certificates

false
podMonitorobject
false

LHCluster.spec.kafka

↩ Parent
NameTypeDescriptionRequired
clusterPartitionsinteger
true
externalClusterRefobject
false
lhKafkaRefobject
false
replicationFactorinteger
false
strimziClusterRefobject
false

LHCluster.spec.kafka.externalClusterRef

↩ Parent
NameTypeDescriptionRequired
bootstrapServersstring
true
securityProtocolstring
true
createTopicsboolean
false
kafkaKeyStoreobject
false
kafkaTrustStoreobject
false
saslJaasConfigobject
false
saslMechanismstring
false

LHCluster.spec.kafka.externalClusterRef.kafkaKeyStore

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.kafka.externalClusterRef.kafkaTrustStore

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.kafka.externalClusterRef.saslJaasConfig

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.kafka.lhKafkaRef

↩ Parent
NameTypeDescriptionRequired
clusterNamestring
true
clusterWideQuotasobject
true

LHCluster.spec.kafka.lhKafkaRef.clusterWideQuotas

↩ Parent
NameTypeDescriptionRequired
consumerThroughputPerSecondint or string

The throughput in bytes per second that may be consumed by this Kafka principal

true
producerThroughputPerSecondint or string

The throughput in bytes per second that may be produced by this Kafka principal

true

LHCluster.spec.kafka.strimziClusterRef

↩ Parent
NameTypeDescriptionRequired
clusterNamestring
true
createTopicsboolean
true
listenerobject
true
quotasobject
false

LHCluster.spec.kafka.strimziClusterRef.listener

↩ Parent
NameTypeDescriptionRequired
portinteger
true
authenticationstring
false
tlsboolean
false

LHCluster.spec.kafka.strimziClusterRef.quotas

↩ Parent
NameTypeDescriptionRequired
consumerByteRateinteger
false
controllerMutationRatenumber
false
producerByteRateinteger
false
requestPercentageinteger
false

LHCluster.spec.server

↩ Parent
NameTypeDescriptionRequired
replicasinteger

Desired number of LH Server pods


Minimum: 1

true
storageobject

Specification for persistent storage used by the server

true
authenticationobject

Determines how the LH Servers will determine Principal identity

false
computeobject

Specifies the compute resources allocated to the Server pods

false
coreStreamsCommitIntervalMsinteger

Sets commit.interval.ms for the Core topology.

false
experimentalConfigOverridemap[string]string

EXPERIMENTAL: specific configurations to override on the LH Server. Only applies to configs that are constant across all server instances.

false
hotStandbyReplicasinteger

The number of Kafka Streams standby replicas

false
imagestring

Image to use for the LH Server

false
imagePullPolicyenum

Image Pull Policy for LH Server Pods


Enum: Always, IfNotPresent, Never

false
internalPortobject

Configures authentication on the internal port used for interactive queries

false
lingerMsinteger

Desired value for linger.ms on the Command Producer.

false
listeners[]object

Listeners to expose on the LH Server for use by clients of the LHCluster

false
logLevelenum

Log Level for the LH Server


Enum: DEBUG, INFO, TRACE, WARN

false
nodeSelectormap[string]string

Node Selector for LH Server pods.

false
operatorListenerobject

Configures a listener on the Servers for the Operator to perform admin operations

false
podAnnotationsmap[string]string

Labels to put on LH Server Pods

false
podLabelsmap[string]string

Annotations to put on LH Server Pods

false
priorityClassNamestring

Priority Class for LH Server pods.

false
rackAwarenessobject

Specifies rack awareness for the LH Servers

false
serviceAnnotationsmap[string]string

Annotations to put on LH Server Services

false
serviceLabelsmap[string]string

Labels to put on LH Server Services

false
streamsMetricsLevelenum

Level of Kafka Streams metrics to collect. Setting to DEBUG or TRACE impacts performance.


Enum: DEBUG, INFO, TRACE, WARN

false
tolerations[]object

Tolerations for LH Server pods.

false
versionstring

Version of the LH Server to deploy

false

LHCluster.spec.server.storage

↩ Parent

Specification for persistent storage used by the server

NameTypeDescriptionRequired
storageClassNamestring

The name of the storageclass with which to provision storage for the server

true
volumeSizeint or string

The size of the persistent volume.

true

LHCluster.spec.server.authentication

↩ Parent

Determines how the LH Servers will determine Principal identity

NameTypeDescriptionRequired
mtlsobject
false
oauthobject
false

LHCluster.spec.server.authentication.mtls

↩ Parent
NameTypeDescriptionRequired
clientCaCertobject
true

LHCluster.spec.server.authentication.mtls.clientCaCert

↩ Parent
NameTypeDescriptionRequired
secretRefobject
true

LHCluster.spec.server.authentication.mtls.clientCaCert.secretRef

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.server.authentication.oauth

↩ Parent
NameTypeDescriptionRequired
credentialsobject
true
introspectionEndpointUrlstring
true

LHCluster.spec.server.authentication.oauth.credentials

↩ Parent
NameTypeDescriptionRequired
secretRefobject
true

LHCluster.spec.server.authentication.oauth.credentials.secretRef

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.server.compute

↩ Parent

Specifies the compute resources allocated to the Server pods

NameTypeDescriptionRequired
cpuint or string

The amount of CPU to assign to the server pod. Sets request and limit. Influences rocksdb and kafka streams configs.

false
memoryint or string

The amount of memory to assign to the server pod. Sets request and limit. Influences RocksDB Configs.

false

LHCluster.spec.server.internalPort

↩ Parent

Configures authentication on the internal port used for interactive queries

NameTypeDescriptionRequired
mtlsobject
true

LHCluster.spec.server.internalPort.mtls

↩ Parent
NameTypeDescriptionRequired
secretRefobject
true

LHCluster.spec.server.internalPort.mtls.secretRef

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.server.listeners[index]

↩ Parent
NameTypeDescriptionRequired
namestring
true
portinteger
true
advertisedListenersobject
false
authenticationobject
false
infrastructureobject
false
tlsobject
false

LHCluster.spec.server.listeners[index].advertisedListeners

↩ Parent
NameTypeDescriptionRequired
bootstrapobject
false
serverHostSuffixstring
false
servers[]object
false

LHCluster.spec.server.listeners[index].advertisedListeners.bootstrap

↩ Parent
NameTypeDescriptionRequired
hoststring
true

LHCluster.spec.server.listeners[index].advertisedListeners.servers[index]

↩ Parent
NameTypeDescriptionRequired
hoststring
true
portinteger
true

LHCluster.spec.server.listeners[index].authentication

↩ Parent
NameTypeDescriptionRequired
typeenum

Enum: MTLS, NONE, OAUTH

true

LHCluster.spec.server.listeners[index].infrastructure

↩ Parent
NameTypeDescriptionRequired
ingressobject

Specifies to create Ingress resources for the listener.

false
tlsRouteobject

Specifies to create TLSRoute according to the Gateway API. Requires a listener with the 'Passthrough' TLS mode enabled.

false

LHCluster.spec.server.listeners[index].infrastructure.ingress

↩ Parent

Specifies to create Ingress resources for the listener.

NameTypeDescriptionRequired
ingressClassNamestring
true
ingressAnnotationsmap[string]string
false

LHCluster.spec.server.listeners[index].infrastructure.tlsRoute

↩ Parent

Specifies to create TLSRoute according to the Gateway API. Requires a listener with the 'Passthrough' TLS mode enabled.

NameTypeDescriptionRequired
advertisedPortinteger

The advertised port. May differ from Gateway port depending on load balancer configuration.

true
gatewayRefobject

Specifies the Gateway to create routes for.

true
tlsRouteAnnotationsmap[string]string

Optional additional annotations to apply to the generated TLSRoutes.

false
tlsRouteLabelsmap[string]string

Optional additional labels to apply to the generated TLSRoutes.

false

LHCluster.spec.server.listeners[index].infrastructure.tlsRoute.gatewayRef

↩ Parent

Specifies the Gateway to create routes for.

NameTypeDescriptionRequired
namestring

The name of the Gateway.

true
sectionNamestring

The sectionName, usually a port name, of the referenced Gateway to attach to.

true
namespacestring

The namespace of the Gateway to attach to. Defaults to current namespace.

false

LHCluster.spec.server.listeners[index].tls

↩ Parent
NameTypeDescriptionRequired
issuerRefobject
false
secretRefobject
false

LHCluster.spec.server.listeners[index].tls.issuerRef

↩ Parent
NameTypeDescriptionRequired
namestring

Name of the CertManager Issuer or ClusterIssuer

true
kindstring

Kind of the CertManager Issuer or ClusterIssuer

false

LHCluster.spec.server.listeners[index].tls.secretRef

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.server.operatorListener

↩ Parent

Configures a listener on the Servers for the Operator to perform admin operations

NameTypeDescriptionRequired
namestring

Specifies the name of the listener for the operator. Defaults to operator-only

false
portinteger

Specifies the port of the listener for the operator. Defaults to 3031

false

LHCluster.spec.server.rackAwareness

↩ Parent

Specifies rack awareness for the LH Servers

NameTypeDescriptionRequired
zoneIds[]string

List of all possible Racks. Required to avoid giving the Operator a ClusterRole.

true
zoneKeystring

The name of the label on K8s nodes which contains the Rack information

true

LHCluster.spec.server.tolerations[index]

↩ Parent
NameTypeDescriptionRequired
effectstring
false
keystring
false
operatorstring
false
tolerationSecondsinteger
false
valuestring
false

LHCluster.spec.dashboard

↩ Parent

Specifies to create Dashboard resources for the cluster

NameTypeDescriptionRequired
imagestring

Dashboard image for the pod. If not provided it defaults to ghcr.io/littlehorse-enterprises/littlehorse/lh-dashboard with either latest or the server version if spec.server.version is set

false
imagePullPolicystring

Image pull policy for the dashboard container

false
replicasinteger

Number of dashboard pod replicas. Defaults to 1


Minimum: 1

false
tlsobject

Image pull policy for the dashboard container

false

LHCluster.spec.dashboard.tls

↩ Parent

Image pull policy for the dashboard container

NameTypeDescriptionRequired
secretRefobject

Secret with a tls.crt for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present on the secret the deployment will fail

true

LHCluster.spec.dashboard.tls.secretRef

↩ Parent

Secret with a tls.crt for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present on the secret the deployment will fail

NameTypeDescriptionRequired
namestring
true

LHCluster.spec.internalCommsIssuer

↩ Parent

Specifies cert-manager issuer to be used for internal communication certificates

NameTypeDescriptionRequired
namestring

Name of the CertManager Issuer or ClusterIssuer

true
kindstring

Kind of the CertManager Issuer or ClusterIssuer

false

LHCluster.spec.podMonitor

↩ Parent
NameTypeDescriptionRequired
metricRelabelings[]object

Relabelings for the metrics exposed by the server

false
podMonitorLabelsmap[string]string

Labels to add to the generated PodMonitor resources

false

LHCluster.spec.podMonitor.metricRelabelings[index]

↩ Parent
NameTypeDescriptionRequired
actionstring
false
modulusinteger
false
regexstring
false
replacementstring
false
separatorstring
false
sourceLabels[]string
false
targetLabelstring
false

LHCluster.status

↩ Parent
NameTypeDescriptionRequired
adminPrincipalstring
false
clusterHealthobject
false
kafkaTypeenum

Enum: EXTERNAL, LHKAFKA, STRIMZI

false
lastBounceTimeinteger
false
lastBouncedPodinteger
false
observedGenerationinteger
false
partitionsinteger
false
problemsstring
false
volumeSizeInternalint or string
false

LHCluster.status.clusterHealth

↩ Parent
NameTypeDescriptionRequired
offlineTasksinteger

Number of Active Core Streams Tasks that are under restoration.

false
streamTasks[]object

Health of each Core Topology Stream Task, ordered by partition number

false
underReplicatedCoreTasksinteger

Total number of Core Streams Tasks that don't have enough caught-up Standbys

false
warmingUpCoreTasksinteger

Number of Core Streams Tasks that are being moved to different instances

false

LHCluster.status.clusterHealth.streamTasks[index]

↩ Parent
NameTypeDescriptionRequired
activeTaskobject
false
standbys[]object
false

LHCluster.status.clusterHealth.streamTasks[index].activeTask

↩ Parent
NameTypeDescriptionRequired
instanceIdinteger
false
restorationLaginteger
false

LHCluster.status.clusterHealth.streamTasks[index].standbys[index]

↩ Parent
NameTypeDescriptionRequired
instanceIdinteger
false
laginteger
false

LHDashboard

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHDashboardtrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHDashboard.spec

↩ Parent
NameTypeDescriptionRequired
apiobject
true
imagestring
true
replicasinteger

Minimum: 1

true
authenticationobject
false
defaultLabelsmap[string]string
false
imagePullPolicystring
false
infrastructureobject
false
resourcesobject
false
tlsobject
false

LHDashboard.spec.api

↩ Parent
NameTypeDescriptionRequired
hoststring
true
portinteger
true
caCertobject
false
protocolenum

Enum: PLAINTEXT, TLS

false

LHDashboard.spec.api.caCert

↩ Parent
NameTypeDescriptionRequired
secretRefobject
true

LHDashboard.spec.api.caCert.secretRef

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHDashboard.spec.authentication

↩ Parent
NameTypeDescriptionRequired
oauthobject
true

LHDashboard.spec.authentication.oauth

↩ Parent
NameTypeDescriptionRequired
callbackUrlstring
true
clientIdobject
true
clientSecretobject
true
serverUrlstring
true

LHDashboard.spec.authentication.oauth.clientId

↩ Parent
NameTypeDescriptionRequired
valueFromobject
true

LHDashboard.spec.authentication.oauth.clientId.valueFrom

↩ Parent
NameTypeDescriptionRequired
configMapKeyRefobject
false
fieldRefobject
false
resourceFieldRefobject
false
secretKeyRefobject
false

LHDashboard.spec.authentication.oauth.clientId.valueFrom.configMapKeyRef

↩ Parent
NameTypeDescriptionRequired
keystring
false
namestring
false
optionalboolean
false

LHDashboard.spec.authentication.oauth.clientId.valueFrom.fieldRef

↩ Parent
NameTypeDescriptionRequired
apiVersionstring
false
fieldPathstring
false

LHDashboard.spec.authentication.oauth.clientId.valueFrom.resourceFieldRef

↩ Parent
NameTypeDescriptionRequired
containerNamestring
false
divisorint or string
false
resourcestring
false

LHDashboard.spec.authentication.oauth.clientId.valueFrom.secretKeyRef

↩ Parent
NameTypeDescriptionRequired
keystring
false
namestring
false
optionalboolean
false

LHDashboard.spec.authentication.oauth.clientSecret

↩ Parent
NameTypeDescriptionRequired
valueFromobject
true

LHDashboard.spec.authentication.oauth.clientSecret.valueFrom

↩ Parent
NameTypeDescriptionRequired
configMapKeyRefobject
false
fieldRefobject
false
resourceFieldRefobject
false
secretKeyRefobject
false

LHDashboard.spec.authentication.oauth.clientSecret.valueFrom.configMapKeyRef

↩ Parent
NameTypeDescriptionRequired
keystring
false
namestring
false
optionalboolean
false

LHDashboard.spec.authentication.oauth.clientSecret.valueFrom.fieldRef

↩ Parent
NameTypeDescriptionRequired
apiVersionstring
false
fieldPathstring
false

LHDashboard.spec.authentication.oauth.clientSecret.valueFrom.resourceFieldRef

↩ Parent
NameTypeDescriptionRequired
containerNamestring
false
divisorint or string
false
resourcestring
false

LHDashboard.spec.authentication.oauth.clientSecret.valueFrom.secretKeyRef

↩ Parent
NameTypeDescriptionRequired
keystring
false
namestring
false
optionalboolean
false

LHDashboard.spec.infrastructure

↩ Parent
NameTypeDescriptionRequired
ingressobject

Specifies to create Ingress resources for the dashboard

false
tlsRouteobject

Specifies to create TLSRoute according to the Gateway API. Requires a listener with the 'Passthrough' TLS mode enabled.

false

LHDashboard.spec.infrastructure.ingress

↩ Parent

Specifies to create Ingress resources for the dashboard

NameTypeDescriptionRequired
hostnamestring

The host to be used in the Ingress resource rule

true
ingressClassNamestring

The name of the Ingress class to be used in the ingressClassName property of the Ingress resource

true
annotationsmap[string]string

Annotations to put in the Ingress resource

false

LHDashboard.spec.infrastructure.tlsRoute

↩ Parent

Specifies to create TLSRoute according to the Gateway API. Requires a listener with the 'Passthrough' TLS mode enabled.

NameTypeDescriptionRequired
gatewayRefobject

Specifies the Gateway to create routes for.

true
hostnamestring

The host to be added to the TLSRoute hostnames

true
annotationsmap[string]string

Optional additional annotations to apply to the generated TLSRoute.

false
labelsmap[string]string

Optional additional labels to apply to the generated TLSRoute.

false

LHDashboard.spec.infrastructure.tlsRoute.gatewayRef

↩ Parent

Specifies the Gateway to create routes for.

NameTypeDescriptionRequired
namestring

The name of the Gateway.

true
sectionNamestring

The sectionName, usually a port name, of the referenced Gateway to attach to.

true
namespacestring

The namespace of the Gateway to attach to. Defaults to current namespace.

false

LHDashboard.spec.resources

↩ Parent
NameTypeDescriptionRequired
claims[]object
false
limitsmap[string]int or string
false
requestsmap[string]int or string
false

LHDashboard.spec.resources.claims[index]

↩ Parent
NameTypeDescriptionRequired
namestring
false

LHDashboard.spec.tls

↩ Parent
NameTypeDescriptionRequired
secretRefobject

Secret with a tls.crt for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present on the secret the deployment will fail

true

LHDashboard.spec.tls.secretRef

↩ Parent

Secret with a tls.crt for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present on the secret the deployment will fail

NameTypeDescriptionRequired
namestring
true

LHDashboard.status

↩ Parent
NameTypeDescriptionRequired
observedGenerationinteger
false
problemsstring
false

LHKafka

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHKafkatrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHKafka.spec

↩ Parent
NameTypeDescriptionRequired
controllersobject

Specifies the controllers for the Kafka cluster. If brokers is not set, then these pods are both brokers and controllers.

true
kafkaVersionstring

The desired kafka version

true
brokersobject

Specifies the brokers for the Kafka cluster. If not set, then the controllers are both brokers and controllers.

false
externalAccessobject

Configures external access to the Kafka cluster from outside Kubernetes

false
podMonitorobject

Configures PodMonitor's to be deployed for this LHKafka

false
rackNodeLabelstring

The k8s node label to be used for rack awareness

false

LHKafka.spec.controllers

↩ Parent

Specifies the controllers for the Kafka cluster. If brokers is not set, then these pods are both brokers and controllers.

NameTypeDescriptionRequired
replicasinteger

Minimum: 1

true
storageobject
true
computeobject
false
nodeSelectorTerms[]object
false
tolerations[]object
false

LHKafka.spec.controllers.storage

↩ Parent
NameTypeDescriptionRequired
storageClassNamestring

The name of the storageclass with which to provision storage for the server

true
volumeSizeint or string

The size of the persistent volume.

true

LHKafka.spec.controllers.compute

↩ Parent
NameTypeDescriptionRequired
cpuint or string

The amount of CPU to assign to the server pod. Sets request and limit. Influences rocksdb and kafka streams configs.

false
memoryint or string

The amount of memory to assign to the server pod. Sets request and limit. Influences RocksDB Configs.

false

LHKafka.spec.controllers.nodeSelectorTerms[index]

↩ Parent
NameTypeDescriptionRequired
matchExpressions[]object
false
matchFields[]object
false

LHKafka.spec.controllers.nodeSelectorTerms[index].matchExpressions[index]

↩ Parent
NameTypeDescriptionRequired
keystring
false
operatorstring
false
values[]string
false

LHKafka.spec.controllers.nodeSelectorTerms[index].matchFields[index]

↩ Parent
NameTypeDescriptionRequired
keystring
false
operatorstring
false
values[]string
false

LHKafka.spec.controllers.tolerations[index]

↩ Parent
NameTypeDescriptionRequired
effectstring
false
keystring
false
operatorstring
false
tolerationSecondsinteger
false
valuestring
false

LHKafka.spec.brokers

↩ Parent

Specifies the brokers for the Kafka cluster. If not set, then the controllers are both brokers and controllers.

NameTypeDescriptionRequired
replicasinteger

Minimum: 1

true
storageobject
true
computeobject
false
nodeSelectorTerms[]object
false
tolerations[]object
false

LHKafka.spec.brokers.storage

↩ Parent
NameTypeDescriptionRequired
storageClassNamestring

The name of the storageclass with which to provision storage for the server

true
volumeSizeint or string

The size of the persistent volume.

true

LHKafka.spec.brokers.compute

↩ Parent
NameTypeDescriptionRequired
cpuint or string

The amount of CPU to assign to the server pod. Sets request and limit. Influences rocksdb and kafka streams configs.

false
memoryint or string

The amount of memory to assign to the server pod. Sets request and limit. Influences RocksDB Configs.

false

LHKafka.spec.brokers.nodeSelectorTerms[index]

↩ Parent
NameTypeDescriptionRequired
matchExpressions[]object
false
matchFields[]object
false

LHKafka.spec.brokers.nodeSelectorTerms[index].matchExpressions[index]

↩ Parent
NameTypeDescriptionRequired
keystring
false
operatorstring
false
values[]string
false

LHKafka.spec.brokers.nodeSelectorTerms[index].matchFields[index]

↩ Parent
NameTypeDescriptionRequired
keystring
false
operatorstring
false
values[]string
false

LHKafka.spec.brokers.tolerations[index]

↩ Parent
NameTypeDescriptionRequired
effectstring
false
keystring
false
operatorstring
false
tolerationSecondsinteger
false
valuestring
false

LHKafka.spec.externalAccess

↩ Parent

Configures external access to the Kafka cluster from outside Kubernetes

NameTypeDescriptionRequired
advertisedListenersobject

Specifies the advertised listeners that clients will connect to

true
tlsobject

Configures TLS for the external access

true
infrastructureobject

Configures K8s resources to be deployed to access the LHKafka

false

LHKafka.spec.externalAccess.advertisedListeners

↩ Parent

Specifies the advertised listeners that clients will connect to

NameTypeDescriptionRequired
wildcardDomainSuffixstring

Subdomain that all brokers will be exposed on. Must start with a '.' character.

true
advertisedPortinteger

Port that clients will use to connect to the Kafka cluster.


Default: 9092

false

LHKafka.spec.externalAccess.tls

↩ Parent

Configures TLS for the external access

NameTypeDescriptionRequired
secretRefobject

Reference to a Secret containing a TLS certificate to be used by the Kafka brokers

false

LHKafka.spec.externalAccess.tls.secretRef

↩ Parent

Reference to a Secret containing a TLS certificate to be used by the Kafka brokers

NameTypeDescriptionRequired
namestring
true

LHKafka.spec.externalAccess.infrastructure

↩ Parent

Configures K8s resources to be deployed to access the LHKafka

NameTypeDescriptionRequired
tlsRoutesobject

Specifies TLSRoute's to create to access LHKafka using Gateway API

true

LHKafka.spec.externalAccess.infrastructure.tlsRoutes

↩ Parent

Specifies TLSRoute's to create to access LHKafka using Gateway API

NameTypeDescriptionRequired
gatewayRefobject

Specifies the Gateway to create routes for.

true
annotationsmap[string]string

Optional additional annotations to apply to the generated TLSRoutes.

false
labelsmap[string]string

Optional additional labels to apply to the generated TLSRoutes.

false

LHKafka.spec.externalAccess.infrastructure.tlsRoutes.gatewayRef

↩ Parent

Specifies the Gateway to create routes for.

NameTypeDescriptionRequired
namestring

The name of the Gateway.

true
sectionNamestring

The sectionName, usually a port name, of the referenced Gateway to attach to.

true
namespacestring

The namespace of the Gateway to attach to. Defaults to current namespace.

false

LHKafka.spec.podMonitor

↩ Parent

Configures PodMonitor's to be deployed for this LHKafka

NameTypeDescriptionRequired
podMonitorLabelsmap[string]string
false

LHKafka.status

↩ Parent
NameTypeDescriptionRequired
currentActiveBrokers[]integer
false
internalTopicReplicationFactorinteger
false
numControllersinteger
false
observedGenerationinteger
false
ongoingRebalanceobject
false
problemsstring
false
rackNodeLabelstring
false

LHKafka.status.ongoingRebalance

↩ Parent
NameTypeDescriptionRequired
dedicatedBrokersAfter[]integer
false
dedicatedBrokersBefore[]integer
false
lastRebalanceAttemptinteger
false
shouldHoldBrokerNodePoolboolean
false
shouldHoldMixedPoolboolean
false

LHKafkaUser

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHKafkaUsertrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHKafkaUser.spec

↩ Parent
NameTypeDescriptionRequired
quotasobject

The quotas for this user.

true
aclsobject

Configures the ACL's of the Kafka User.

false
aclsPrefixstring

DEPRECATED: use acls.simple.prefix instead The prefix for the ACL's that will be created for this user. Mutually exclusive with strimziAcls. If this is provided, then the LH Operator will create opinionated ACL's that allow the user to read/write to topics, txns, and consumer groups that start with this prefix, but not create or delete topics nor take cluster actions

false
externalAccessobject

Configures authentication for the Kafka User to access Kafka from outside the K8s cluster

false
lhKafkaClusterNamestring

DEPRECATED: use lhKafkaRef instead. The name of the LHKafka cluster this user will be created in. Must be in the same namespace.

false
lhKafkaRefobject

Reference to the LHKafka in which this LHKafkaUser will be created.

false

LHKafkaUser.spec.quotas

↩ Parent

The quotas for this user.

NameTypeDescriptionRequired
consumerThroughputPerSecondint or string

The throughput in bytes per second that may be consumed by this Kafka principal

true
producerThroughputPerSecondint or string

The throughput in bytes per second that may be produced by this Kafka principal

true

LHKafkaUser.spec.acls

↩ Parent

Configures the ACL's of the Kafka User.

NameTypeDescriptionRequired
simpleobject

Simple ACL's designed to namespace-scope a user, allowing actions to publish/consume from topics and groups within a prefix scope.

true

LHKafkaUser.spec.acls.simple

↩ Parent

Simple ACL's designed to namespace-scope a user, allowing actions to publish/consume from topics and groups within a prefix scope.

NameTypeDescriptionRequired
prefixstring

The prefix for the ACL's that will be created for this user. Mutually exclusive with strimziAcls. If this is provided, then the LH Operator will create opinionated ACL's that allow the user to read/write to topics, txns, and consumer groups that start with this prefix, but not create or delete topics nor take cluster actions

true
allowTopicManagementboolean

Whether the user should be able to create and delete topics

false

LHKafkaUser.spec.externalAccess

↩ Parent

Configures authentication for the Kafka User to access Kafka from outside the K8s cluster

NameTypeDescriptionRequired
scramSha512object

Configures the SCRAM-SHA-512 authentication for the user

true

LHKafkaUser.spec.externalAccess.scramSha512

↩ Parent

Configures the SCRAM-SHA-512 authentication for the user

NameTypeDescriptionRequired
passwordSecretRefobject

Reference to the secret containing the password for the user. If null, one will be generated with a random password, and a name matching the name of the LHKafkaUser but with the prefix 'lhku-'.

false

LHKafkaUser.spec.externalAccess.scramSha512.passwordSecretRef

↩ Parent

Reference to the secret containing the password for the user. If null, one will be generated with a random password, and a name matching the name of the LHKafkaUser but with the prefix 'lhku-'.

NameTypeDescriptionRequired
additionalPropertiesmap[string]object
false
secretKeyRefobject
false

LHKafkaUser.spec.externalAccess.scramSha512.passwordSecretRef.secretKeyRef

↩ Parent
NameTypeDescriptionRequired
keystring
false
namestring
false
optionalboolean
false

LHKafkaUser.spec.lhKafkaRef

↩ Parent

Reference to the LHKafka in which this LHKafkaUser will be created.

NameTypeDescriptionRequired
namestring

Name of the LHKafka cluster this user will be created in. Must be in the same namespace.

true

LHKafkaUser.status

↩ Parent
NameTypeDescriptionRequired
lhKafkaClusterNamestring
false
problemsstring
false
readyboolean
false

LHOperator

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHOperatortrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHOperator.status

↩ Parent
NameTypeDescriptionRequired
observedGenerationinteger
false
reconciledBy[]string
false

LHPrincipal

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHPrincipaltrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHPrincipal.spec

↩ Parent
NameTypeDescriptionRequired
lhClusterobject

Specifies the LittleHorse Cluster

true
globalACLs[]object

Global ACL's to add to the Principal to be created in the LH Server. These permissions apply to all Tenants inside the LH Server.

false
perTenantACLs[]object

Allows assigning permissions to the Principal to access specific Tenants inside the LH Server.

false
principalNamestring

The name of the Principal to be created in the LH Server. If null, uses the LHPrincipal name.

false

LHPrincipal.spec.lhCluster

↩ Parent

Specifies the LittleHorse Cluster

NameTypeDescriptionRequired
lhClusterRefobject

Specifies a LittleHorse Cluster managed by the same Operator

true

LHPrincipal.spec.lhCluster.lhClusterRef

↩ Parent

Specifies a LittleHorse Cluster managed by the same Operator

NameTypeDescriptionRequired
namestring

Specifies a the name of the LittleHorse Cluster

true

LHPrincipal.spec.globalACLs[index]

↩ Parent
NameTypeDescriptionRequired
actions[]string
false
resourcestring
false

LHPrincipal.spec.perTenantACLs[index]

↩ Parent
NameTypeDescriptionRequired
acls[]object
false
tenantstring
false

LHPrincipal.spec.perTenantACLs[index].acls[index]

↩ Parent
NameTypeDescriptionRequired
actions[]string
false
resourcestring
false

LHPrincipal.status

↩ Parent
NameTypeDescriptionRequired
isCreatedboolean

Whether the Principal has been created in the LH Server

false
lhClusterstring

The LHCluster that the Principal belongs to

false
observedGenerationinteger
false
principalIdstring

The ID of the created Principal in the LHCluster.

false
problemsstring
false

LHTenant

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHTenanttrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
specobject
false
statusobject
false

LHTenant.spec

↩ Parent
NameTypeDescriptionRequired
lhClusterobject

Specifies the LittleHorse Cluster

true
tenantNamestring

Name of the Tenant in LittleHorse. If not provided, inferred from LHTenant name.

false

LHTenant.spec.lhCluster

↩ Parent

Specifies the LittleHorse Cluster

NameTypeDescriptionRequired
lhClusterRefobject

Specifies a LittleHorse Cluster managed by the same Operator

true

LHTenant.spec.lhCluster.lhClusterRef

↩ Parent

Specifies a LittleHorse Cluster managed by the same Operator

NameTypeDescriptionRequired
namestring

Specifies a the name of the LittleHorse Cluster

true

LHTenant.status

↩ Parent
NameTypeDescriptionRequired
isCreatedboolean

Whether the Tenant has been successfully created in the LH Cluster

false
lhClusterstring

The LHCluster that the Tenant belongs to

false
observedGenerationinteger
false
problemsstring
false
tenantIdstring

The ID of the created Tenant in the LHCluster.

false