Skip to main content

API Reference

littlehorse.io/v1

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
additionalConfigsmap[string]string

Configurations to pass to the LHCanaryAggregator.

false
defaultLabelsmap[string]string

Labels to put on all created resources

false
logLevelenum

Log Level for the aggregator


Enum: DEBUG, INFO, TRACE, WARN

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
metricRelabelings[]object

Relabelings for the metrics exposed by the canary

false
podMonitorLabelsmap[string]string

Labels to add to the generated PodMonitor resources

false

LHCanaryAggregator.spec.podMonitor.metricRelabelings[index]

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

LHCanaryAggregator.status

↩ Parent
NameTypeDescriptionRequired
conditions[]object
false
observedGenerationinteger
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false

LHCanaryAggregator.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

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
logLevelenum

Log Level for the metronome


Enum: DEBUG, INFO, TRACE, WARN

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
dataplaneIdstring

Specifies a LittleHorse Dataplane id to match prometheus metrics

true
serverIdstring

Specifies a LittleHorse Cluster id to match prometheus metrics

true
listenerNamestring

The Listener Name to connect to

false
oauthobject

Configures OAuth authentication with the LittleHorse server

false
protocolenum

The protocol of the listener either TLS or PLAINTEXT. Defaults to PLAINTEXT. If oauth is present it defaults to TLS


Enum: PLAINTEXT, TLS

false
tenantIdstring

The Tenant to use


Default: default

false

LHCanaryMetronome.spec.lhCluster.externalClusterRef.oauth

↩ Parent

Configures OAuth authentication with the LittleHorse server

NameTypeDescriptionRequired
accessTokenUrlstring

URL of the OIDC provider access token endpoint

true
credentialsobject

Configuration of the ClientId and ClientSecret for the OAuth client

true

LHCanaryMetronome.spec.lhCluster.externalClusterRef.oauth.credentials

↩ Parent

Configuration of the ClientId and ClientSecret for the OAuth client

NameTypeDescriptionRequired
secretRefobject

Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

true

LHCanaryMetronome.spec.lhCluster.externalClusterRef.oauth.credentials.secretRef

↩ Parent

Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

NameTypeDescriptionRequired
namestring
true

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
conditions[]object
false
observedGenerationinteger
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false

LHCanaryMetronome.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

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
internalCommsobject

Configuration for internal communication (server to server and server to dashboard)

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
deleteKafkaTopicsboolean

Delete Kafka Topics when the LHCluster is deleted. If false, the topics will be left in place.

false

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
deleteKafkaTopicsboolean

Delete Kafka Topics when the LHCluster is deleted. If false, the topics will be left in place.

false
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
jvmArgs[]string

Specifies jvm arguments to use on startup. Example: ["-XX:+HeapDumpOnOutOfMemoryError", "-XX:HeapDumpPath=/path/to/file", "-Xms2048m", "-Xmx3072m"]


Default: []

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
logConfigMapKeyRefobject

ConfigMap key reference which contains the log4j2.properties.

false
logLevelenum

Log Level for the LH Server


Enum: DEBUG, INFO, TRACE, WARN

false
nodeSelectormap[string]string

Node Selector for LH Server pods.

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
sessionTimeoutMsinteger

Session Timeout for the LH Server Kafka Streams topology. Default: 45000


Minimum: 6

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.

true
volumeSizeint or string

The size of the persistent volume to provision.

true
throughputHintint or string

A hint to the Operator which suggests the total storage bandwidth available to each Pod (read + write). Used to optimize RocksDB configuration and avoid noisy neighbors. This is a best-effort limit on throughput which will be respected in most cases but is not guaranteed.

false

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
burstCapacityobject
false
cpuint or string

The amount of CPU to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false
memoryint or string

The amount of RAM to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false

LHCluster.spec.server.compute.burstCapacity

↩ Parent
NameTypeDescriptionRequired
cpuint or string

Allows setting a limit to CPU higher than the requests. Recommended to also set priority class on the Pods if using this option.

false
memoryint or string

Allows setting a limit to memory higher than the requests. Use with caution as Kubernetes does not allow reclaiming memory from a Pod after a spike. Recommended to also set priority class on the Pods if using this option.

false

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.logConfigMapKeyRef

↩ Parent

ConfigMap key reference which contains the log4j2.properties.

NameTypeDescriptionRequired
keystring

Key in the ConfigMap.

false
namestring

Name of the ConfigMap.

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
infrastructureobject

Configures K8s infrastructure to allow external access to the dashboard.

false
oauthobject

Configure OAuth for users of the dashboard

false
replicasinteger

Number of dashboard pod replicas. Defaults to 1


Minimum: 1

false
tlsobject

Configure TLS for port that clients use to connect to the dashboard.

false

LHCluster.spec.dashboard.infrastructure

↩ Parent

Configures K8s infrastructure to allow external access to the dashboard.

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

LHCluster.spec.dashboard.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

LHCluster.spec.dashboard.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

LHCluster.spec.dashboard.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.dashboard.oauth

↩ Parent

Configure OAuth for users of the dashboard

NameTypeDescriptionRequired
callbackUrlstring

Canonical URL of the Dashboard site. Used by the Authorization Server to return the control to the LH Dashboard.More information can be found here: https://next-auth.js.org/configuration/options#nextauth_url

true
secretRefobject

Reference to a Secret with the OAuth clientId and clientSecret. If clientId entry and clientSecret entry are not present on the Secret, the deployment will fail

true
serverUrlstring

OAuth server url

true
callbackUrlInternalstring

Internal URL of the Dashboard server. Used by the Dashboard Server to query itself.Should only be set when the callbackUrl cannot be reached by the dashboard server.More information can be found here: https://next-auth.js.org/configuration/options#nextauth_url_internal

false

LHCluster.spec.dashboard.oauth.secretRef

↩ Parent

Reference to a Secret with the OAuth clientId and clientSecret. If clientId entry and clientSecret entry are not present on the Secret, the deployment will fail

NameTypeDescriptionRequired
namestring
true

LHCluster.spec.dashboard.tls

↩ Parent

Configure TLS for port that clients use to connect to the dashboard.

NameTypeDescriptionRequired
secretRefobject

Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

true

LHCluster.spec.dashboard.tls.secretRef

↩ Parent

Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

NameTypeDescriptionRequired
namestring
true

LHCluster.spec.internalComms

↩ Parent

Configuration for internal communication (server to server and server to dashboard)

NameTypeDescriptionRequired
encryptionEnabledboolean

Automatically generates certs and the appropriate configuration for encrypting internal communication (server to server and server to dashboard). This property shouldn't be changed once set, or else it will cause downtime. LHO_CERTMANAGER_ENABLED should be set to true for this feature to work

true
certificateDurationstring

Duration for which the internal communication certificates are valid. Default is 2160h (90 days).

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
adminPrincipalCreatedboolean
false
clusterHealthobject
false
conditions[]object
false
connectionHashstring
false
kafkaTypeenum

Enum: EXTERNAL, LHKAFKA, STRIMZI

false
lastBounceTimeinteger
false
lastBouncedPodinteger
false
observedGenerationinteger
false
partitionsinteger
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false
volumeSizeInternalint or string
false

LHCluster.status.clusterHealth

↩ Parent
NameTypeDescriptionRequired
inProgressRestorations[]object
false
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.inProgressRestorations[index]

↩ Parent
NameTypeDescriptionRequired
currentOffsetinteger
false
endOffsetinteger
false
instanceIdinteger
false
partitioninteger
false
totalRestoredinteger
false

LHCluster.status.clusterHealth.streamTasks[index]

↩ Parent
NameTypeDescriptionRequired
activeTaskobject
false
standbys[]object
false

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

↩ Parent
NameTypeDescriptionRequired
instanceIdinteger
false
partitioninteger
false
restorationLaginteger
false

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

↩ Parent
NameTypeDescriptionRequired
instanceIdinteger
false
laginteger
false
partitioninteger
false

LHCluster.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

false

LHConnector

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

LHConnector.spec

↩ Parent
NameTypeDescriptionRequired
configobject

Configurations for this SaddleJob

true
imagestring

Docker Image for this Task Connector

true
tenantRefobject

Reference to the LHTenant to connect to.

true
imagePullPolicyenum

Image Pull Policy


Enum: Always, IfNotPresent, Never
Default: IfNotPresent

false
podTemplateobject

Configures the Pod template, including annotations, labels, and where it is deployed.

false
replicasinteger

Number of pods to deploy


Default: 1

false
resourcesobject

Resource requests and limits for the deployed pods

false

LHConnector.spec.config

↩ Parent

Configurations for this SaddleJob

NameTypeDescriptionRequired
configSecretobject

A reference to a secret containing configuration properties for the connector logic.

false
fileBasedConfigs[]object

Configurations that require mounting a file on a disk (eg. TLS certificates).

false
plainConfigsmap[string]string

App-level configurations for the connector which can be set in plaintext.

false

LHConnector.spec.config.configSecret

↩ Parent

A reference to a secret containing configuration properties for the connector logic.

NameTypeDescriptionRequired
namestring
true

LHConnector.spec.tenantRef

↩ Parent

Reference to the LHTenant to connect to.

NameTypeDescriptionRequired
lhClusterNamestring

The name of the LHCluster resource to connect to

true
tenantNamestring

The name of the Tenant to connect to within the specified lhCluster.

true

LHConnector.spec.podTemplate

↩ Parent

Configures the Pod template, including annotations, labels, and where it is deployed.

NameTypeDescriptionRequired
nodeLabelForRackAwarenessstring

Node label for rack awareness.

false
nodeSelectorTerms[]object

Kubernetes NodeSelectorTerm's to select nodes via labels or expressions.

false
podAnnotationsmap[string]string

Annotations to put on all of the pods.

false
podLabelsmap[string]string

Labels to put on all of the pods.

false
priorityClassNamestring

Priority class for the pods.

false
tolerations[]object

Node Tolerations to tolerate.

false

LHConnector.spec.podTemplate.nodeSelectorTerms[index]

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

LHConnector.spec.podTemplate.nodeSelectorTerms[index].matchExpressions[index]

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

LHConnector.spec.podTemplate.nodeSelectorTerms[index].matchFields[index]

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

LHConnector.spec.podTemplate.tolerations[index]

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

LHConnector.spec.resources

↩ Parent

Resource requests and limits for the deployed pods

NameTypeDescriptionRequired
burstCapacityobject
false
cpuint or string

The amount of CPU to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false
memoryint or string

The amount of RAM to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false

LHConnector.spec.resources.burstCapacity

↩ Parent
NameTypeDescriptionRequired
cpuint or string

Allows setting a limit to CPU higher than the requests. Recommended to also set priority class on the Pods if using this option.

false
memoryint or string

Allows setting a limit to memory higher than the requests. Use with caution as Kubernetes does not allow reclaiming memory from a Pod after a spike. Recommended to also set priority class on the Pods if using this option.

false

LHConnector.status

↩ Parent
NameTypeDescriptionRequired
conditions[]object
false
observedGenerationinteger
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false

LHConnector.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

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

Configures how the dashboard talks to the LH Server.

true
imagestring

The image to be used by the Dashboard.

true
replicasinteger

The number of dashboard Pods to deploy.


Minimum: 1

true
authenticationobject

Configures authentication for users of the dashboard.

false
defaultLabelsmap[string]string

Labels to place on all dependent resources of the LHDashboard.

false
imagePullPolicystring

The ImagePullPolicy to be used for the Dashboard Pods.

false
infrastructureobject

Configures ingress-like infrastructure to be deployed for the LHDashboard.

false
resourcesobject

Configures compute resources for the dashboard pods.

false
tlsobject

Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS listener.

false

LHDashboard.spec.api

↩ Parent

Configures how the dashboard talks to the LH Server.

NameTypeDescriptionRequired
hoststring
true
portinteger
true
caCertobject
false
protocolenum

Enum: PLAINTEXT, TLS

false

LHDashboard.spec.api.caCert

↩ Parent
NameTypeDescriptionRequired
secretRefobject

Specifies a secret that should contain a ca.crt key

true

LHDashboard.spec.api.caCert.secretRef

↩ Parent

Specifies a secret that should contain a ca.crt key

NameTypeDescriptionRequired
namestring
true

LHDashboard.spec.authentication

↩ Parent

Configures authentication for users of the dashboard.

NameTypeDescriptionRequired
oauthobject
true

LHDashboard.spec.authentication.oauth

↩ Parent
NameTypeDescriptionRequired
callbackUrlstring

Canonical URL of the Dashboard site. Used by the Authorization Server to return the control to the LH Dashboard.More information can be found here: https://next-auth.js.org/configuration/options#nextauth_url

true
credentialsobject
true
serverUrlstring

OAuth server url

true
callbackUrlInternalstring

Internal URL of the Dashboard server. Used by the Dashboard Server to query itself.Should only be set when the callbackUrl cannot be reached by the dashboard server.More information can be found here: https://next-auth.js.org/configuration/options#nextauth_url_internal

false

LHDashboard.spec.authentication.oauth.credentials

↩ Parent
NameTypeDescriptionRequired
secretRefobject

Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

true

LHDashboard.spec.authentication.oauth.credentials.secretRef

↩ Parent

Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

NameTypeDescriptionRequired
namestring
true

LHDashboard.spec.infrastructure

↩ Parent

Configures ingress-like infrastructure to be deployed for the LHDashboard.

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

Configures compute resources for the dashboard pods.

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
requeststring
false

LHDashboard.spec.tls

↩ Parent

Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS listener.

NameTypeDescriptionRequired
secretRefobject

Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

true

LHDashboard.spec.tls.secretRef

↩ Parent

Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

NameTypeDescriptionRequired
namestring
true

LHDashboard.status

↩ Parent
NameTypeDescriptionRequired
conditions[]object
false
observedGenerationinteger
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false

LHDashboard.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

false

LHKafkaConnector

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

LHKafkaConnector.spec

↩ Parent
NameTypeDescriptionRequired
classNamestring

The Java class that implements the connector

true
configobject

The configurations and secret mounts for this Kafka Connector

true
kafkaRefobject

The name of the LHKafka cluster that this connector connects to

true
tasksMaxinteger

Maximum number of tasks for this connector.


Minimum: 1

true
autoRestartobject

Allows specifying automatic restarts for failed connectors

false
desiredStateenum

The desired state of the connector. Either running, paused, or stopped


Enum: paused, running, stopped

false
plugins[]object

List of plugins required to run this connector

false
sinkTopicstring

The topic that this connector should use. Only for source connector.

false
sourceTopicsstring

The topic regex that this connector should use. Only for sink connector.

false

LHKafkaConnector.spec.config

↩ Parent

The configurations and secret mounts for this Kafka Connector

NameTypeDescriptionRequired
configSecretobject

A reference to a secret containing configuration properties for the connector logic.

false
fileBasedConfigs[]object

Configurations that require mounting a file on a disk (eg. TLS certificates).

false
plainConfigsmap[string]string

App-level configurations for the connector which can be set in plaintext.

false

LHKafkaConnector.spec.config.configSecret

↩ Parent

A reference to a secret containing configuration properties for the connector logic.

NameTypeDescriptionRequired
namestring
true

LHKafkaConnector.spec.kafkaRef

↩ Parent

The name of the LHKafka cluster that this connector connects to

NameTypeDescriptionRequired
namestring

The name of the LHKafka cluster that this connector connects to

true

LHKafkaConnector.spec.autoRestart

↩ Parent

Allows specifying automatic restarts for failed connectors

NameTypeDescriptionRequired
enabledboolean
false
maxRestartsinteger
false

LHKafkaConnector.spec.plugins[index]

↩ Parent
NameTypeDescriptionRequired
artifacts[]object
false
namestring
false

LHKafkaConnector.spec.plugins[index].artifacts[index]

↩ Parent
NameTypeDescriptionRequired
jarobject
false
mavenobject
false
otherobject
false
tgzobject
false
zipobject
false

LHKafkaConnector.spec.plugins[index].artifacts[index].jar

↩ Parent
NameTypeDescriptionRequired
insecureboolean
false
sha512sumstring
false
urlstring
false

LHKafkaConnector.spec.plugins[index].artifacts[index].maven

↩ Parent
NameTypeDescriptionRequired
artifactstring
false
groupstring
false
insecureboolean
false
repositorystring
false
versionstring
false

LHKafkaConnector.spec.plugins[index].artifacts[index].other

↩ Parent
NameTypeDescriptionRequired
fileNamestring
false
insecureboolean
false
sha512sumstring
false
urlstring
false

LHKafkaConnector.spec.plugins[index].artifacts[index].tgz

↩ Parent
NameTypeDescriptionRequired
insecureboolean
false
sha512sumstring
false
urlstring
false

LHKafkaConnector.spec.plugins[index].artifacts[index].zip

↩ Parent
NameTypeDescriptionRequired
insecureboolean
false
sha512sumstring
false
urlstring
false

LHKafkaConnector.status

↩ Parent
NameTypeDescriptionRequired
conditions[]object
false
observedGenerationinteger
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false

LHKafkaConnector.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

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
brokersobject

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

false
connectobject

Configures the deployment of a Kafka Connect cluster connected to this LHKafka.

false
externalAccessobject

Configures external access to the Kafka cluster from outside Kubernetes

false
kafkaConfigOverridesmap[string]string

Override certain Kafka broker configurations for experimental purposes. Use with caution.

false
kafkaVersionstring

The desired kafka version. If null (recommended), uses the newest available version

false
logCleanerThroughputLimitint or string

IO bandwidth limit for the log cleaner threads on each Kafka pod.

false
logConfigMapKeyRefobject

ConfigMap key reference which contains the log4j2.properties.

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
priorityClassNamestring

The priority class to use for pods of this KafkaNodePool

false
tolerations[]object
false

LHKafka.spec.controllers.storage

↩ Parent
NameTypeDescriptionRequired
storageClassNamestring

The name of the storageclass with which to provision storage.

true
volumeSizeint or string

The size of the persistent volume to provision.

true

LHKafka.spec.controllers.compute

↩ Parent
NameTypeDescriptionRequired
burstCapacityobject
false
cpuint or string

The amount of CPU to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false
memoryint or string

The amount of RAM to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false

LHKafka.spec.controllers.compute.burstCapacity

↩ Parent
NameTypeDescriptionRequired
cpuint or string

Allows setting a limit to CPU higher than the requests. Recommended to also set priority class on the Pods if using this option.

false
memoryint or string

Allows setting a limit to memory higher than the requests. Use with caution as Kubernetes does not allow reclaiming memory from a Pod after a spike. Recommended to also set priority class on the Pods if using this option.

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
priorityClassNamestring

The priority class to use for pods of this KafkaNodePool

false
tolerations[]object
false

LHKafka.spec.brokers.storage

↩ Parent
NameTypeDescriptionRequired
storageClassNamestring

The name of the storageclass with which to provision storage.

true
volumeSizeint or string

The size of the persistent volume to provision.

true

LHKafka.spec.brokers.compute

↩ Parent
NameTypeDescriptionRequired
burstCapacityobject
false
cpuint or string

The amount of CPU to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false
memoryint or string

The amount of RAM to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false

LHKafka.spec.brokers.compute.burstCapacity

↩ Parent
NameTypeDescriptionRequired
cpuint or string

Allows setting a limit to CPU higher than the requests. Recommended to also set priority class on the Pods if using this option.

false
memoryint or string

Allows setting a limit to memory higher than the requests. Use with caution as Kubernetes does not allow reclaiming memory from a Pod after a spike. Recommended to also set priority class on the Pods if using this option.

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.connect

↩ Parent

Configures the deployment of a Kafka Connect cluster connected to this LHKafka.

NameTypeDescriptionRequired
quotasobject

Quotas for the Kafka Connect cluster

true
replicasinteger

The number of Kafka Connect workers to deploy


Minimum: 1

true
computeobject
false

LHKafka.spec.connect.quotas

↩ Parent

Quotas for the Kafka Connect cluster

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

LHKafka.spec.connect.compute

↩ Parent
NameTypeDescriptionRequired
burstCapacityobject
false
cpuint or string

The amount of CPU to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false
memoryint or string

The amount of RAM to assign to the resulting pods. If burstCapacity is not set, also sets limits. Influences other performance-related configurations.

false

LHKafka.spec.connect.compute.burstCapacity

↩ Parent
NameTypeDescriptionRequired
cpuint or string

Allows setting a limit to CPU higher than the requests. Recommended to also set priority class on the Pods if using this option.

false
memoryint or string

Allows setting a limit to memory higher than the requests. Use with caution as Kubernetes does not allow reclaiming memory from a Pod after a spike. Recommended to also set priority class on the Pods if using this option.

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
ingressesobject

Specifies Ingresses to expose LHKafka

false
tlsRoutesobject

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

false

LHKafka.spec.externalAccess.infrastructure.ingresses

↩ Parent

Specifies Ingresses to expose LHKafka

NameTypeDescriptionRequired
ingressClassNamestring

Specifies Ingress class name

true
annotationsmap[string]string

Specifies Annotations as key value pair

false

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.logConfigMapKeyRef

↩ Parent

ConfigMap key reference which contains the log4j2.properties.

NameTypeDescriptionRequired
keystring

Key in the ConfigMap.

false
namestring

Name of the ConfigMap.

false

LHKafka.spec.podMonitor

↩ Parent

Configures PodMonitor's to be deployed for this LHKafka

NameTypeDescriptionRequired
metricRelabelings[]object
false
podMonitorLabelsmap[string]string
false

LHKafka.spec.podMonitor.metricRelabelings[index]

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

LHKafka.status

↩ Parent
NameTypeDescriptionRequired
conditions[]object
false
currentActiveBrokers[]integer
false
internalTopicReplicationFactorinteger
false
kafkaVersionstring
false
numControllersinteger
false
observedGenerationinteger
false
ongoingRebalanceobject
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false
rackNodeLabelstring
false

LHKafka.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

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
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
conditions[]object
false
lhKafkaClusterNamestring
false
observedGenerationinteger
false
problemsstring

DEPRECATED. Please check for a ReconciliationError condition instead.

false
readyboolean
false

LHKafkaUser.status.conditions[index]

↩ Parent
NameTypeDescriptionRequired
lastTransitionTimestring

The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

true
reasonstring

Reason contains a programmatic identifier indicating the reason for the condition's last transition.

true
statusenum

Status of the condition, one of True, False, Unknown.


Enum: False, True, Unknown

true
typestring

Type of condition

true
messagestring

A human readable message indicating details about the transition.

false

LHKeycloakClient

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

LHKeycloakClient.spec

↩ Parent
NameTypeDescriptionRequired
clientobject

Validations:

  • !(self.serviceAccountsEnabled == false && has(self.serviceAccountsRoles)): Service account should be enabled
  • true
    realmobject
    true

    LHKeycloakClient.spec.client

    ↩ Parent
    NameTypeDescriptionRequired
    clientIdstring
    true
    authorizationServicesEnabledboolean
    false
    clientSecretobject

    Customize the clientSecret. Keycloak will create a secret if empty

    false
    descriptionstring
    false
    directAccessGrantsEnabledboolean
    false
    enabledboolean
    false
    frontchannelLogoutboolean
    false
    implicitFlowEnabledboolean
    false
    protocolstring
    false
    protocolMappers[]object
    false
    publicClientboolean
    false
    redirectUris[]string
    false
    serviceAccountsEnabledboolean
    false
    serviceAccountsRolesobject
    false
    standardFlowEnabledboolean
    false
    surrogateAuthRequiredboolean
    false

    LHKeycloakClient.spec.client.clientSecret

    ↩ Parent

    Customize the clientSecret. Keycloak will create a secret if empty

    NameTypeDescriptionRequired
    labelsmap[string]string

    Optional additional labels to apply to the generated Secret

    false
    namestring

    Name of the generated Secret if not empty, otherwise it will take the name of the LHKeycloakClient

    false
    secretKeyRefobject

    External secret to extract the clientSecret from. Keycloak will create a secret if empty

    false

    LHKeycloakClient.spec.client.clientSecret.secretKeyRef

    ↩ Parent

    External secret to extract the clientSecret from. Keycloak will create a secret if empty

    NameTypeDescriptionRequired
    keystring

    The key of the data

    true
    namestring

    The name of the Secret

    true

    LHKeycloakClient.spec.client.protocolMappers[index]

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true
    protocolMapperstring
    true
    configmap[string]string
    false
    protocolstring
    false

    LHKeycloakClient.spec.client.serviceAccountsRoles

    ↩ Parent
    NameTypeDescriptionRequired
    clientRoles[]object

    List of roles which belongs to a specific client

    false
    realmRoles[]string

    List of global roles, belonging to the realm

    false

    LHKeycloakClient.spec.client.serviceAccountsRoles.clientRoles[index]

    ↩ Parent
    NameTypeDescriptionRequired
    clientIdstring
    true
    roles[]string
    true

    LHKeycloakClient.spec.realm

    ↩ Parent
    NameTypeDescriptionRequired
    lhKeycloakRealmRefobject

    Validations:

  • oldSelf == null || self.name == oldSelf.name: Ref 'name' is immutable and cannot be changed once set.
  • true

    LHKeycloakClient.spec.realm.lhKeycloakRealmRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakClient.status

    ↩ Parent
    NameTypeDescriptionRequired
    clientIdstring

    ClientID used for OAuth authentication

    false
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    realmNamestring

    Keycloak realm name

    false
    recordIdstring
    false
    statusstring

    Current client state. Enabled: the client was created and is enabled. Disabled: the client was created and is disabled.

    false

    LHKeycloakClient.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHKeycloakOIDCProvider

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

    LHKeycloakOIDCProvider.spec

    ↩ Parent
    NameTypeDescriptionRequired
    aliasstring

    The alias uniquely identifies an identity provider and it is also used to build the redirect uri

    true
    authorizationUrlstring

    URL of the OpenID Provider's OAuth 2.0 Authorization Endpoint. This URL MUST use the https scheme and MAY contain port, path, and query parameter components.

    true
    credentialsobject

    Configuration of the ClientId and ClientSecret for the OAuth client

    true
    realmobject

    Realm this Identity Provider belongs to

    true
    tokenUrlstring

    URL of the OpenID Provider's OAuth 2.0 Token Endpoint. This URL MUST use the https scheme and MAY contain port, path, and query parameter components.

    true
    clientAuthMethodenum

    The client authentication method. Only client_secret_basic and client_secret_post are supported


    Enum: client_secret_basic, client_secret_post
    Default: client_secret_post

    false
    displayNamestring

    The name to be displayed on the frontend for this identity provider

    false
    enabledboolean

    If true, this identity provider will be turned on


    Default: true

    false
    hideOnLoginboolean

    If hidden, login with this provider is possible only if requested explicitly, for example using the 'kc_idp_hint' parameter.


    Default: false

    false
    issuerstring

    URL using the https scheme with no query or fragment components that the OpenID Provider's asserts as its Issuer Identifier.

    false
    jwksUrlstring

    URL of the OpenID Provider's JWK Set document. If validateSignature is true, then this property is required

    false
    linkOnlyboolean

    If true, users cannot log in through this provider. They can only link to this provider. This is useful if you don't want to allow login from the provider, but want to integrate with a provider


    Default: false

    false
    logoutUrlstring

    URL of the OpenID Provider's endpoint/page for ending the session.

    false
    storeTokenboolean

    Enable/disable if tokens must be stored after authenticating users.


    Default: false

    false
    syncModeenum

    Default sync mode for all mappers. The sync mode determines when user data will be synced using the mappers. Possible values are: 'legacy' to keep the behaviour before this option was introduced, 'import' to only import the user once during first login of the user with this identity provider, 'force' to always update the user during every login with this identity provider.


    Enum: FORCE, IMPORT, LEGACY
    Default: LEGACY

    false
    trustEmailboolean

    If enabled, email provided by this provider is not verified even if verification is enabled for the realm.


    Default: false

    false
    userInfoUrlstring

    URL of the OpenID Provider's UserInfo Endpoint. This URL MUST use the https scheme and MAY contain port, path, and query parameter components.

    false
    validateSignatureboolean

    If true, validates the token signature using the keys from the jwksUrl


    Default: false

    false

    LHKeycloakOIDCProvider.spec.credentials

    ↩ Parent

    Configuration of the ClientId and ClientSecret for the OAuth client

    NameTypeDescriptionRequired
    secretRefobject

    Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

    true

    LHKeycloakOIDCProvider.spec.credentials.secretRef

    ↩ Parent

    Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakOIDCProvider.spec.realm

    ↩ Parent

    Realm this Identity Provider belongs to

    NameTypeDescriptionRequired
    lhKeycloakRealmRefobject
    true

    LHKeycloakOIDCProvider.spec.realm.lhKeycloakRealmRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring

    LHKeycloakRealm name

    true

    LHKeycloakOIDCProvider.status

    ↩ Parent
    NameTypeDescriptionRequired
    aliasstring

    OIDC unique alias to identify within the realm

    false
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    realmNamestring
    false
    statusstring

    Current identity provider state. Enabled: the identity provider was created and is enabled. Disable: the identity provider was created and is disabled.

    false

    LHKeycloakOIDCProvider.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHKeycloakRealm

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

    LHKeycloakRealm.spec

    ↩ Parent
    NameTypeDescriptionRequired
    keycloakobject
    true
    realmobject
    true

    LHKeycloakRealm.spec.keycloak

    ↩ Parent
    NameTypeDescriptionRequired
    lhKeycloakRefobject
    true

    LHKeycloakRealm.spec.keycloak.lhKeycloakRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakRealm.spec.realm

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true
    accessTokenLifespaninteger
    false
    bruteForceProtectedboolean
    false
    displayNamestring
    false
    duplicateEmailsAllowedboolean
    false
    editUsernameAllowedboolean
    false
    enabledboolean
    false
    loginThemestring
    false
    loginWithEmailAllowedboolean
    false
    registrationAllowedboolean
    false
    resetPasswordAllowedboolean
    false
    sslRequiredstring
    false
    ssoSessionIdleTimeoutinteger
    false
    ssoSessionMaxLifespaninteger
    false

    LHKeycloakRealm.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    realmNamestring
    false
    statusstring

    Current realm state. Enabled: the realm was created and is enabled. Disable: the realm was created and is disabled.

    false

    LHKeycloakRealm.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHKeycloakRole

    ↩ Parent
    NameTypeDescriptionRequired
    apiVersionstringlittlehorse.io/v1true
    kindstringLHKeycloakRoletrue
    metadataobjectRefer to the Kubernetes API documentation for the fields of the metadata field.true
    specobject

    Validations:

  • has(self.clientRole) != has(self.realmRole): Exactly one of 'clientRole' or 'realmRole' must be specified
  • oldSelf == null || self.name == oldSelf.name: 'name' is immutable and cannot be changed once set.
  • false
    statusobject
    false

    LHKeycloakRole.spec

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true
    clientRoleobject

    Client role

    false
    composite[]object

    Composite roles

    false
    descriptionstring

    Description of the role

    false
    realmRoleobject

    Realm role

    false

    LHKeycloakRole.spec.clientRole

    ↩ Parent

    Client role

    NameTypeDescriptionRequired
    lhKeycloakClientRefobject

    Validations:

  • oldSelf == null || self.name == oldSelf.name: Ref 'name' is immutable and cannot be changed once set.
  • true

    LHKeycloakRole.spec.clientRole.lhKeycloakClientRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakRole.spec.composite[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lhKeycloakRoleRefobject
    true

    LHKeycloakRole.spec.composite[index].lhKeycloakRoleRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakRole.spec.realmRole

    ↩ Parent

    Realm role

    NameTypeDescriptionRequired
    lhKeycloakRealmRefobject

    Validations:

  • oldSelf == null || self.name == oldSelf.name: Ref 'name' is immutable and cannot be changed once set.
  • true

    LHKeycloakRole.spec.realmRole.lhKeycloakRealmRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakRole.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    keycloakobject

    Details about the Keycloak role

    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

    LHKeycloakRole.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHKeycloakRole.status.keycloak

    ↩ Parent

    Details about the Keycloak role

    NameTypeDescriptionRequired
    clientIdstring

    KyecloakClient owner ID for the role

    false
    idstring

    Keycloak assigned ID for the role

    false
    realmstring

    Keycloak realm for the role

    false

    LHKeycloak

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

    LHKeycloak.spec

    ↩ Parent
    NameTypeDescriptionRequired
    httpobject

    HTTP listener configurations

    true
    replicasinteger

    The number of Keycloak pods to deploy. A minimum of 1 is required


    Minimum: 1

    true
    cacheobject

    Cache configurations

    false
    databaseobject

    Database configurations

    false
    defaultLabelsmap[string]string

    Labels to place on all dependent resources of the LHKeycloak.

    false
    hostnameobject

    Hostname configurations. More info at https://www.keycloak.org/server/hostname

    false
    imagestring

    Image to use for Keycloak Server. If not set defaults to quay.io/keycloak/keycloak:26.4.2

    false
    imagePullPolicyenum

    Image pull policy for Keycloak pods


    Enum: Always, IfNotPresent, Never

    false
    operatorobject

    Configurations for the operator connection with the Keycloak server

    false
    outgoingHttpobject

    Configuring outgoing HTTP requests. More info at https://www.keycloak.org/server/outgoinghttp#_client_configuration_command

    false
    podMonitorobject

    Configuration for the PodMonitor to be deployed for this LHKeycloak

    false
    resourcesobject

    Configures compute resources for the keycloak pods.

    false

    LHKeycloak.spec.http

    ↩ Parent

    HTTP listener configurations

    NameTypeDescriptionRequired
    enableHttpboolean

    Enables the HTTP listener. If false and tls is not provided, then an error will be thrown


    Default: false

    false
    httpPortinteger

    The used HTTP port. Defaults to 8000


    Default: 8000

    false
    infrastructureobject
    false
    tlsobject

    Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS listener.

    false

    LHKeycloak.spec.http.infrastructure

    ↩ Parent
    NameTypeDescriptionRequired
    tlsRouteobject

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

    false

    LHKeycloak.spec.http.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

    LHKeycloak.spec.http.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

    LHKeycloak.spec.http.tls

    ↩ Parent

    Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS listener.

    NameTypeDescriptionRequired
    secretRefobject

    Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

    true

    LHKeycloak.spec.http.tls.secretRef

    ↩ Parent

    Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloak.spec.cache

    ↩ Parent

    Cache configurations

    NameTypeDescriptionRequired
    encryptionEnabledboolean

    Automatically generates certs and the appropriate configuration for encrypting internal cache communication when type is ispn. LHO_CERTMANAGER_ENABLED should be set to true for this feature to work

    true
    typeenum

    Defines the cache mechanism, either ispn or local. Defaults to ispn


    Enum: ispn, local

    false

    LHKeycloak.spec.database

    ↩ Parent

    Database configurations

    NameTypeDescriptionRequired
    externalRefobject
    false

    LHKeycloak.spec.database.externalRef

    ↩ Parent
    NameTypeDescriptionRequired
    credentialsobject
    true
    databasestring

    Sets the database name of the default JDBC URL of the chosen vendor.

    true
    hoststring

    Sets the hostname of the default JDBC URL of the chosen vendor.

    true
    caCertobject

    CA cert to encrypt/decrypt the communication between keycloak and the database. The secret should contain a ca.crt key. Should be set if the database is using a cert not signed by a well-known CA. The certificate will be placed in the /tls/database/ca.crt absolute path. It will also be loaded into the default JVM truststore. If the JDBC driver doesn't support the default JVM certs then you will need to specify the cert path in the properties

    false
    portinteger

    Sets the port of the default JDBC URL of the chosen vendor. Defaults to 5432


    Default: 5432

    false
    propertiesstring

    Sets the properties of the default JDBC URL of the chosen vendor. Make sure to set the properties accordingly to the format expected by the database vendor, as well as appending the right character at the beginning of this property value. e.g. "?sslmode=verify-full&sslrootcert=/customCA/database/ca.crt"

    false
    vendorenum

    The database vendor. Accepted Values: dev-file, dev-mem, mariadb, mssql, mysql, oracle, and postgres. Defaults to dev-file


    Enum: dev-file, dev-mem, mariadb, mssql, mysql, oracle, postgres

    false

    LHKeycloak.spec.database.externalRef.credentials

    ↩ Parent
    NameTypeDescriptionRequired
    secretRefobject

    Reference to secret of type kubernetes.io/basic-auth with username and password keys

    true

    LHKeycloak.spec.database.externalRef.credentials.secretRef

    ↩ Parent

    Reference to secret of type kubernetes.io/basic-auth with username and password keys

    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloak.spec.database.externalRef.caCert

    ↩ Parent

    CA cert to encrypt/decrypt the communication between keycloak and the database. The secret should contain a ca.crt key. Should be set if the database is using a cert not signed by a well-known CA. The certificate will be placed in the /tls/database/ca.crt absolute path. It will also be loaded into the default JVM truststore. If the JDBC driver doesn't support the default JVM certs then you will need to specify the cert path in the properties

    NameTypeDescriptionRequired
    secretRefobject
    true

    LHKeycloak.spec.database.externalRef.caCert.secretRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloak.spec.hostname

    ↩ Parent

    Hostname configurations. More info at https://www.keycloak.org/server/hostname

    NameTypeDescriptionRequired
    adminstring

    The hostname for accessing the administration console.

    false
    enableBackchannelDynamicboolean

    Enables dynamic resolving of backchannel URLs, including hostname, scheme, port and context path. Set to true if your application accesses Keycloak via a private network. Defaults to false


    Default: false

    false
    enableDebugboolean

    Enables the hostname debug page that is accessible at /realms/master/hostname-debug. Defaults to false


    Default: false

    false
    enableStrictboolean

    Enables dynamically resolving the hostname from request headers. Defaults to true


    Default: true

    false
    hostnamestring

    Hostname for the Keycloak server

    false

    LHKeycloak.spec.operator

    ↩ Parent

    Configurations for the operator connection with the Keycloak server

    NameTypeDescriptionRequired
    caCertobject

    CA cert to encrypt/decrypt the communication within the keycloak service and the operator. Should be set if the Keycloak server is using a cert not signed by a well-known CA. The secret should contain a ca.crt key

    false
    keycloakUrlstring

    URL for the operator to connect with Keycloak. Should be set if the operator is not able to reach the Keycloak server through the internal kubernetes URL. Defaults to https://lhkeycloak-name-service.namespace.svc.cluster.local:8443

    false

    LHKeycloak.spec.operator.caCert

    ↩ Parent

    CA cert to encrypt/decrypt the communication within the keycloak service and the operator. Should be set if the Keycloak server is using a cert not signed by a well-known CA. The secret should contain a ca.crt key

    NameTypeDescriptionRequired
    secretRefobject
    true

    LHKeycloak.spec.operator.caCert.secretRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloak.spec.outgoingHttp

    ↩ Parent

    Configuring outgoing HTTP requests. More info at https://www.keycloak.org/server/outgoinghttp#_client_configuration_command

    NameTypeDescriptionRequired
    disableTrustManagerboolean

    If an outgoing request requires HTTPS and this configuration option is set to true, you do not have to specify a truststore. This setting should be used only during development and never in production because it will disable verification of SSL certificates. Default: false.


    Default: false

    false

    LHKeycloak.spec.podMonitor

    ↩ Parent

    Configuration for the PodMonitor to be deployed for this LHKeycloak

    NameTypeDescriptionRequired
    labelsmap[string]string

    Labels to add to the generated PodMonitor resources

    false
    metricRelabelings[]object

    Relabelings for the metrics exposed by the keycloak

    false

    LHKeycloak.spec.podMonitor.metricRelabelings[index]

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

    LHKeycloak.spec.resources

    ↩ Parent

    Configures compute resources for the keycloak pods.

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

    LHKeycloak.spec.resources.claims[index]

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    false
    requeststring
    false

    LHKeycloak.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    connectionHashstring
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

    LHKeycloak.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHKeycloakUser

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

    LHKeycloakUser.spec

    ↩ Parent
    NameTypeDescriptionRequired
    realmobject
    true
    userobject
    true

    LHKeycloakUser.spec.realm

    ↩ Parent
    NameTypeDescriptionRequired
    lhKeycloakRealmRefobject

    Validations:

  • oldSelf == null || self.name == oldSelf.name: Ref 'name' is immutable and cannot be changed once set.
  • true

    LHKeycloakUser.spec.realm.lhKeycloakRealmRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakUser.spec.user

    ↩ Parent
    NameTypeDescriptionRequired
    usernamestring
    true
    clientRoles[]object

    List of roles which belongs to a specific client

    false
    emailstring
    false
    emailVerifiedboolean
    false
    enabledboolean
    false
    firstNamestring
    false
    groups[]string

    Group paths. Example: /my-groups or /my-group/my-child-group

    false
    lastNamestring
    false
    passwordobject
    false
    realmRoles[]string

    List of global roles, belonging to the realm

    false
    requiredActions[]string
    false

    LHKeycloakUser.spec.user.clientRoles[index]

    ↩ Parent
    NameTypeDescriptionRequired
    clientIdstring
    true
    roles[]string
    true

    LHKeycloakUser.spec.user.password

    ↩ Parent
    NameTypeDescriptionRequired
    secretKeyRefobject

    External secret to extract the password from. Keycloak will create a secret if empty

    true

    LHKeycloakUser.spec.user.password.secretKeyRef

    ↩ Parent

    External secret to extract the password from. Keycloak will create a secret if empty

    NameTypeDescriptionRequired
    keystring

    The key of the data

    true
    namestring

    The name of the Secret

    true

    LHKeycloakUser.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    realmNamestring

    Keycloak realm name

    false
    recordIdstring
    false
    statusstring

    Current user state. Enabled: the user was created and is enabled. Disabled: the user was created and is disabled.

    false
    usernamestring

    Username used for OAuth authentication

    false

    LHKeycloakUser.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    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
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    reconciledBy[]string
    false

    LHOperator.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    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
    conditions[]object
    false
    isCreatedboolean

    DEPRECATED. Please check the for an Available condition instead. 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

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

    LHPrincipal.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    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
    defaultLabelsmap[string]string

    Labels to place on all dependent resources of the LHTenant.

    false
    outputTopicobject

    Specifies the configuration of the tenant output topic to export data in real-time

    false
    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.spec.outputTopic

    ↩ Parent

    Specifies the configuration of the tenant output topic to export data in real-time

    NameTypeDescriptionRequired
    executionTopicobject

    Enables the automatic creation of the execution output topic using KafkaTopic from Strimzi. The cleanup.policy of this topic will always be delete. This only works when Strimzi is enabled and the LHCluster is connected to Kafka using strimziClusterRef or lhKafkaRef

    false
    metadataTopicobject

    Enables the automatic creation of the metadata output topic using KafkaTopic from Strimzi. The cleanup.policy of this topic will always be delete and the partition number will always be 1. This only works when Strimzi is enabled and the LHCluster is connected to Kafka using strimziClusterRef or lhKafkaRef

    false
    recordingLevelenum

    Configure default recording level of Output Topic events. Possible options are: ALL_ENTITY_EVENTS (all updates for entities from all WfSpecs, TaskDefs, WorkflowEventDefs, UserTaskDefs, and ExternalEventDefs are sent to the output topic) and NO_ENTITY_EVENTS (no events are sent to the output topic)


    Enum: ALL_ENTITY_EVENTS, NO_ENTITY_EVENTS
    Default: NO_ENTITY_EVENTS

    false

    LHTenant.spec.outputTopic.executionTopic

    ↩ Parent

    Enables the automatic creation of the execution output topic using KafkaTopic from Strimzi. The cleanup.policy of this topic will always be delete. This only works when Strimzi is enabled and the LHCluster is connected to Kafka using strimziClusterRef or lhKafkaRef

    NameTypeDescriptionRequired
    configsmap[string]string

    Map to override topic configurations. The cleanup.policy is not overridable and will always be delete

    false
    partitionsinteger

    Number of partitions for the topic. Defaults to 12


    Default: 12

    false
    replicasinteger

    Number of replicas for the topic. If not set defaults to the broke configuration

    false

    LHTenant.spec.outputTopic.metadataTopic

    ↩ Parent

    Enables the automatic creation of the metadata output topic using KafkaTopic from Strimzi. The cleanup.policy of this topic will always be delete and the partition number will always be 1. This only works when Strimzi is enabled and the LHCluster is connected to Kafka using strimziClusterRef or lhKafkaRef

    NameTypeDescriptionRequired
    configsmap[string]string

    Map to override topic configurations. The cleanup.policy is not overridable and will always be delete

    false
    replicasinteger

    Number of replicas for the topic. If not set defaults to the broke configuration

    false

    LHTenant.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    isCreatedboolean

    DEPRECATED. Please check for a Available condition instead. Whether the Tenant has been successfully created in the LH Cluster

    false
    lhClusterstring

    The LHCluster that the Tenant belongs to

    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    tenantIdstring

    The ID of the created Tenant in the LHCluster.

    false

    LHTenant.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHUserTasksBridgeBackend

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

    LHUserTasksBridgeBackend.spec

    ↩ Parent
    NameTypeDescriptionRequired
    lhClusterobject

    Configurations for the UTB Backend connection with the LH Kernel

    true
    replicasinteger

    The number of LH UserTasksBridge Backend pods to deploy. A minimum of 1 is required


    Minimum: 1

    true
    defaultLabelsmap[string]string

    Labels to place on all dependent resources of the LHUserTasksBridgeBackend.

    false
    imagestring

    Image to use for LH UserTasksBridge Backend. If not set defaults to ghcr.io/littlehorse-enterprises/lh-user-tasks-bridge-backend:0.16.0


    Default: ghcr.io/littlehorse-enterprises/lh-user-tasks-bridge-backend:0.16.0

    false
    imagePullPolicyenum

    Image pull policy for LH UserTasksBridge Backend pods


    Enum: Always, IfNotPresent, Never

    false
    infrastructureobject
    false
    resourcesobject

    Configures compute resources for the UTB Backend pods.

    false
    tlsobject

    Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS.

    false

    LHUserTasksBridgeBackend.spec.lhCluster

    ↩ Parent

    Configurations for the UTB Backend connection with the LH Kernel

    NameTypeDescriptionRequired
    externalClusterRefobject

    Specifies a LittleHorse Cluster that might be managed by the same Operator or not

    true

    LHUserTasksBridgeBackend.spec.lhCluster.externalClusterRef

    ↩ Parent

    Specifies a LittleHorse Cluster that might be managed by the same Operator or not

    NameTypeDescriptionRequired
    hoststring

    The LH Kernel host

    true
    caCertobject

    Specifies the custom CA cert to use to communicate with the LH Kernel. Useful when using self-signed certificates

    false
    oauthobject

    Specifies the OAuth configuration to authenticate to the LH Kernel. If not provided, then the communication is unauthenticated

    false
    portinteger

    The LH Kernel host


    Default: 2023

    false
    protocolenum

    Specifies the protocol to communicate with the LH Kernel. Possible values are TLS and PLAINTEXT. Defaults to PLAINTEXT when null or to TLS when a caCert is provided


    Enum: PLAINTEXT, TLS
    Default: PLAINTEXT

    false

    LHUserTasksBridgeBackend.spec.lhCluster.externalClusterRef.caCert

    ↩ Parent

    Specifies the custom CA cert to use to communicate with the LH Kernel. Useful when using self-signed certificates

    NameTypeDescriptionRequired
    secretRefobject

    Specifies a secret that should contain a ca.crt key

    true

    LHUserTasksBridgeBackend.spec.lhCluster.externalClusterRef.caCert.secretRef

    ↩ Parent

    Specifies a secret that should contain a ca.crt key

    NameTypeDescriptionRequired
    namestring
    true

    LHUserTasksBridgeBackend.spec.lhCluster.externalClusterRef.oauth

    ↩ Parent

    Specifies the OAuth configuration to authenticate to the LH Kernel. If not provided, then the communication is unauthenticated

    NameTypeDescriptionRequired
    accessTokenUrlstring

    URL of the OIDC provider access token endpoint

    true
    credentialsobject

    Configuration of the ClientId and ClientSecret for the OAuth client

    true

    LHUserTasksBridgeBackend.spec.lhCluster.externalClusterRef.oauth.credentials

    ↩ Parent

    Configuration of the ClientId and ClientSecret for the OAuth client

    NameTypeDescriptionRequired
    secretRefobject

    Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

    true

    LHUserTasksBridgeBackend.spec.lhCluster.externalClusterRef.oauth.credentials.secretRef

    ↩ Parent

    Reference to secret with a clientId and a clientSecret key. If those keys are not present, the deployment will fail

    NameTypeDescriptionRequired
    namestring
    true

    LHUserTasksBridgeBackend.spec.infrastructure

    ↩ Parent
    NameTypeDescriptionRequired
    tlsRouteobject

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

    false

    LHUserTasksBridgeBackend.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

    LHUserTasksBridgeBackend.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

    LHUserTasksBridgeBackend.spec.resources

    ↩ Parent

    Configures compute resources for the UTB Backend pods.

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

    LHUserTasksBridgeBackend.spec.resources.claims[index]

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    false
    requeststring
    false

    LHUserTasksBridgeBackend.spec.tls

    ↩ Parent

    Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS.

    NameTypeDescriptionRequired
    secretRefobject

    Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

    true

    LHUserTasksBridgeBackend.spec.tls.secretRef

    ↩ Parent

    Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

    NameTypeDescriptionRequired
    namestring
    true

    LHUserTasksBridgeBackend.status

    ↩ Parent
    NameTypeDescriptionRequired
    availableProviders[]object

    List of oidc providers currently configured on the ready replicas of the backend. A provider can be configured only on one of the replicas and still appear in this list, this will happen during rolling updates

    false
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

    LHUserTasksBridgeBackend.status.availableProviders[index]

    ↩ Parent
    NameTypeDescriptionRequired
    generationinteger

    Generation of the LHUserTasksBridgeOIDCProvider

    true
    namestring

    Name of the LHUserTasksBridgeOIDCProvider

    true

    LHUserTasksBridgeBackend.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHUserTasksBridgeConsole

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

    LHUserTasksBridgeConsole.spec

    ↩ Parent
    NameTypeDescriptionRequired
    backendobject

    The User Tasks Bridge Backend to configure

    true
    keycloakProviderobject
    true
    replicasinteger

    The number of LH UserTasksBridge Console pods to deploy. A minimum of 1 is required


    Minimum: 1

    true
    callbackUrlstring

    Canonical URL of the console site. Used by the Authorization Server to return the control to the Console.More information can be found here: https://authjs.dev/getting-started/deployment#auth_url

    false
    defaultLabelsmap[string]string

    Labels to place on all dependent resources of the LHUserTasksBridgeConsole.

    false
    imagestring

    Image to use for LH UserTasksBridge Console. If not set defaults to ghcr.io/littlehorse-enterprises/lh-user-tasks-bridge-console:0.16.0


    Default: ghcr.io/littlehorse-enterprises/lh-user-tasks-bridge-console:0.16.0

    false
    imagePullPolicyenum

    Image pull policy for LH UserTasksBridge Console pods


    Enum: Always, IfNotPresent, Never

    false
    infrastructureobject
    false
    resourcesobject

    Configures compute resources for the LH UserTasksBridge Console pods.

    false
    tlsobject

    Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS.

    false

    LHUserTasksBridgeConsole.spec.backend

    ↩ Parent

    The User Tasks Bridge Backend to configure

    NameTypeDescriptionRequired
    externalBackendRefobject
    true

    LHUserTasksBridgeConsole.spec.backend.externalBackendRef

    ↩ Parent
    NameTypeDescriptionRequired
    urlstring

    The User Task Bridge Backend URL including port and protocol

    true
    caCertobject

    Specifies the custom CA cert to use to communicate with the backend. Useful when using self-signed certificates

    false

    LHUserTasksBridgeConsole.spec.backend.externalBackendRef.caCert

    ↩ Parent

    Specifies the custom CA cert to use to communicate with the backend. Useful when using self-signed certificates

    NameTypeDescriptionRequired
    secretRefobject

    Specifies a secret that should contain a ca.crt key

    true

    LHUserTasksBridgeConsole.spec.backend.externalBackendRef.caCert.secretRef

    ↩ Parent

    Specifies a secret that should contain a ca.crt key

    NameTypeDescriptionRequired
    namestring
    true

    LHUserTasksBridgeConsole.spec.keycloakProvider

    ↩ Parent
    NameTypeDescriptionRequired
    clientIdstring

    The clientId from your identity provider from which your access tokens will be generated

    true
    issuerstring

    Identity Provider's issuer url

    true
    authorities[]object

    At least 1 JSON path that indicates from where the roles are going to be found within the token's claims used to differentiate between ADMIN and NON-ADMIN users. Defaults to [$.realm_access.roles, $.resource_access.*.roles]


    Validations:

  • size(self) > 0: Should specify at least one authority
  • false

    LHUserTasksBridgeConsole.spec.keycloakProvider.authorities[index]

    ↩ Parent
    NameTypeDescriptionRequired
    pathstring

    JSON path that indicates from where the roles are going to be found within the token's claims used to differentiate between ADMIN and NON-ADMIN users

    true

    LHUserTasksBridgeConsole.spec.infrastructure

    ↩ Parent
    NameTypeDescriptionRequired
    tlsRouteobject

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

    false

    LHUserTasksBridgeConsole.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

    LHUserTasksBridgeConsole.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

    LHUserTasksBridgeConsole.spec.resources

    ↩ Parent

    Configures compute resources for the LH UserTasksBridge Console pods.

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

    LHUserTasksBridgeConsole.spec.resources.claims[index]

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    false
    requeststring
    false

    LHUserTasksBridgeConsole.spec.tls

    ↩ Parent

    Certificate to encrypt/decrypt the network traffic. The secret should contain tls.crt and tls.key keys. Enables HTTPS.

    NameTypeDescriptionRequired
    secretRefobject

    Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

    true

    LHUserTasksBridgeConsole.spec.tls.secretRef

    ↩ Parent

    Reference to the secret that contains a tls.crt entry for the cert and a tls.key entry for the key. If tls.cert and tls.key are not present the deployment will fail

    NameTypeDescriptionRequired
    namestring
    true

    LHUserTasksBridgeConsole.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    deployedGenerations[]integer

    List of this oidc provider generations currently configured on the ready replicas of the backend. During a rolling update, multiple generations could be present on different backend instances

    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

    LHUserTasksBridgeConsole.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false

    LHUserTasksBridgeOIDCProvider

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

    LHUserTasksBridgeOIDCProvider.spec

    ↩ Parent
    NameTypeDescriptionRequired
    backendobject

    The User Tasks Bridge Backend to configure

    true
    clients[]string

    The client-id from your identity provider from which your access tokens will be generated. At least one clientId is required


    Validations:

  • size(self) > 0: Should specify at least one clientId
  • true
    issuerstring

    Identity Provider's issuer url

    true
    tenantobject

    The reference to the LittleHorse Kernel tenant this provider is going to access

    true
    authorities[]object

    At least 1 JSON path that indicates from where the roles are going to be found within the token's claims used to differentiate between ADMIN and NON-ADMIN users. Defaults to [$.realm_access.roles, $.resource_access.*.roles]


    Validations:

  • size(self) > 0: Should specify at least one authority
  • false
    clientIdClaimstring

    Specifies what claim should be used to fetch the corresponding client id from the access token


    Default: azp

    false
    labelNamestring

    Name of the identity provider to be displayed in the UI, to differentiate your identity providers configured with the same tenant

    false
    userIdClaimenum

    This property allows you to set what claim you want to use as userId when performing assignments. You can set 1 of the following values: EMAIL, PREFERRED_USERNAME or SUB. It defaults to EMAIL


    Enum: EMAIL, PREFERRED_USERNAME, SUB
    Default: EMAIL

    false
    vendorenum

    The identity provider in charge of authenticating users. For now, KEYCLOAK is the only vendor with access to all the features that this API provides. Defaults to KEYCLOAK


    Enum: AUTH0, KEYCLOAK, OKTA, ZITADEL

    false

    LHUserTasksBridgeOIDCProvider.spec.backend

    ↩ Parent

    The User Tasks Bridge Backend to configure

    NameTypeDescriptionRequired
    lhUTBBackendRefobject

    The reference to the LHUserTasksBridgeBackend resource

    true

    LHUserTasksBridgeOIDCProvider.spec.backend.lhUTBBackendRef

    ↩ Parent

    The reference to the LHUserTasksBridgeBackend resource

    NameTypeDescriptionRequired
    namestring

    The name of the LHUserTasksBridgeBackend resource


    Validations:

  • self == oldSelf: Cannot change the lhUTBBackendRef.name
  • true

    LHUserTasksBridgeOIDCProvider.spec.tenant

    ↩ Parent

    The reference to the LittleHorse Kernel tenant this provider is going to access

    NameTypeDescriptionRequired
    tenantIdstring

    The name of the LittleHorse Kernel tenant

    true

    LHUserTasksBridgeOIDCProvider.spec.authorities[index]

    ↩ Parent
    NameTypeDescriptionRequired
    pathstring

    JSON path that indicates from where the roles are going to be found within the token's claims used to differentiate between ADMIN and NON-ADMIN users

    true

    LHUserTasksBridgeOIDCProvider.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    deployedGenerations[]integer

    List of this oidc provider generations currently configured on the ready replicas of the backend. During a rolling update, multiple generations could be present on different backend instances

    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

    LHUserTasksBridgeOIDCProvider.status.conditions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    lastTransitionTimestring

    The last time the condition transitioned from one status to another. The required format is ISO 8601 'yyyy-MM-ddTHH:mm:ssZ'

    true
    reasonstring

    Reason contains a programmatic identifier indicating the reason for the condition's last transition.

    true
    statusenum

    Status of the condition, one of True, False, Unknown.


    Enum: False, True, Unknown

    true
    typestring

    Type of condition

    true
    messagestring

    A human readable message indicating details about the transition.

    false