Skip to main content

API Reference

Resource Types:

LHCanaryAggregator

[↩ Parent]
NameTypeDescriptionRequired
apiVersionstringlittlehorse.io/v1true
kindstringLHCanaryAggregatortrue

metadata

object

Refer 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 LittleHorse 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

clusterWideQuotas

object

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

metadata

object

Refer 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 LittleHorse Canary



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


false
imagePullPolicyenum

ImagePullPolicy for the LittleHorse 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

externalClusterRef

object

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 LittleHorse Cluster to monitor


true
apiPortinteger

The API Port of the LittleHorse 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

metadata

object

Refer 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

kafkaKeyStore

object
false

kafkaTrustStore

object
false

saslJaasConfig

object
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

clusterWideQuotas

object
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 LittleHorse Server pods



Minimum: 1

true
storageobject

Specification for persistent storage used by the server


true
authenticationobject

Determines how the LittleHorse 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 LittleHorse 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 LittleHorse Server


false
imagePullPolicyenum

Image Pull Policy for LittleHorse 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 LittleHorse Server for use by clients of the LHCluster


false
logLevelenum

Log Level for the LittleHorse Server



Enum: DEBUG, INFO, TRACE, WARN


false
nodeSelectormap[string]string

Node Selector for LittleHorse 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 LittleHorse Server Pods


false
podLabelsmap[string]string

Annotations to put on LittleHorse Server Pods


false
priorityClassNamestring

Priority Class for LittleHorse Server pods.


false
rackAwarenessobject

Specifies rack awareness for the LittleHorse Servers


false
serviceAnnotationsmap[string]string

Annotations to put on LittleHorse Server Services


false
serviceLabelsmap[string]string

Labels to put on LittleHorse 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 LittleHorse Server pods.


false
versionstring

Version of the LittleHorse 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 LittleHorse Servers will determine Principal identity

NameTypeDescriptionRequired
mtlsobject
false
oauthobject
false

LHCluster.spec.server.authentication.mtls

↩ Parent
NameTypeDescriptionRequired

clientCaCert

object
true

LHCluster.spec.server.authentication.mtls.clientCaCert

↩ Parent
NameTypeDescriptionRequired

secretRef

object
true

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

↩ Parent
NameTypeDescriptionRequired
namestring
true

LHCluster.spec.server.authentication.oauth

↩ Parent
NameTypeDescriptionRequired

credentials

object
true
introspectionEndpointUrlstring
true

LHCluster.spec.server.authentication.oauth.credentials

↩ Parent
NameTypeDescriptionRequired

secretRef

object
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

advertisedListeners

object
false

authentication

object
false

infrastructure

object
false
tlsobject
false

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

↩ Parent
NameTypeDescriptionRequired

bootstrap

object
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

ingress

object

Specifies to create Ingress resources for the listener.


false

tlsRoute

object

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

gatewayRef

object

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 LittleHorse 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

activeTask

object
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

metadata

object

Refer 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

clientSecret

object
true
serverUrlstring
true

LHDashboard.spec.authentication.oauth.clientId

↩ Parent
NameTypeDescriptionRequired

valueFrom

object
true

LHDashboard.spec.authentication.oauth.clientId.valueFrom

↩ Parent
NameTypeDescriptionRequired

configMapKeyRef

object
false

fieldRef

object
false

resourceFieldRef

object
false

secretKeyRef

object
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

valueFrom

object
true

LHDashboard.spec.authentication.oauth.clientSecret.valueFrom

↩ Parent
NameTypeDescriptionRequired

configMapKeyRef

object
false

fieldRef

object
false

resourceFieldRef

object
false

secretKeyRef

object
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

gatewayRef

object

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

metadata

object

Refer 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

advertisedListeners

object

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

tlsRoutes

object

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

gatewayRef

object

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

metadata

object

Refer 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 LittleHorse 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 LittleHorse 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

passwordSecretRef

object

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

secretKeyRef

object
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

metadata

object

Refer 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

metadata

object

Refer 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 LittleHorse Server. These permissions apply to all Tenants inside the LittleHorse Server.


false
perTenantACLs[]object

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


false
principalNamestring

The name of the Principal to be created in the LittleHorse 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 LittleHorse 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

metadata

object

Refer 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 LittleHorse 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