Skip to main content
Version: 1.1

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

Validations:

  • oldSelf == null || self.clusterPartitions == oldSelf.clusterPartitions: Cannot change number of kafka partitions.
  • (has(self.strimziClusterRef) ? 1 : 0) + (has(self.externalClusterRef) ? 1 : 0) + (has(self.lhKafkaRef) ? 1 : 0) == 1 : Only one of strimziClusterRef, externalClusterRef, or lhKafkaRef must be set.
  • oldSelf == null || (has(oldSelf.strimziClusterRef) == has(self.strimziClusterRef) && has(oldSelf.externalClusterRef) == has(self.externalClusterRef) && has(oldSelf.lhKafkaRef) == has(self.lhKafkaRef)) : Cannot change kafka cluster type after initial creation.
  • 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

    Default: 3

    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


    Validations:

  • oldSelf == null || !quantity(string(self.volumeSize)) .isLessThan(quantity(string(oldSelf.volumeSize))) : Cannot decrease volume size.
  • 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


    Validations:

  • self == oldSelf: spec.rackNodeLabel is immutable
  • 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

    Validations:

  • self == oldSelf: Changing number of controllers is not supported
  • Minimum: 1

    true
    storageobject

    Validations:

  • oldSelf == null || !quantity(string(self.volumeSize)) .isLessThan(quantity(string(oldSelf.volumeSize))) : Cannot decrease volume size.
  • 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

    Validations:

  • self == oldSelf: Changing number of controllers is not supported
  • Minimum: 1

    true
    storageobject

    Validations:

  • oldSelf == null || !quantity(string(self.volumeSize)) .isLessThan(quantity(string(oldSelf.volumeSize))) : Cannot decrease volume size.
  • 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

    LHKafkaTopic

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

    LHKafkaTopic.spec

    ↩ Parent
    NameTypeDescriptionRequired
    kafkaobject

    Validations:

  • oldSelf == null || (oldSelf.lhKafkaRef.clusterName == self.lhKafkaRef.clusterName) : Cannot change kafka cluster ref after initial creation.
  • true
    topicobject

    Wrapper object that contains the topic-relevant configurations

    true

    LHKafkaTopic.spec.kafka

    ↩ Parent
    NameTypeDescriptionRequired
    lhKafkaRefobject

    Reference of the LHKafka cluster used by LHKafkaTopicSpec. Must be in the same namespace.

    true

    LHKafkaTopic.spec.kafka.lhKafkaRef

    ↩ Parent

    Reference of the LHKafka cluster used by LHKafkaTopicSpec. Must be in the same namespace.

    NameTypeDescriptionRequired
    clusterNamestring

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

    true

    LHKafkaTopic.spec.topic

    ↩ Parent

    Wrapper object that contains the topic-relevant configurations

    NameTypeDescriptionRequired
    namestring

    Name of the LHKafkaTopic

    true
    configmap[string]string

    Additional configurations for the topic set in a key-value format

    false
    partitionsinteger

    Number of partitions for this topic. DISCLAIMER: We do not recommend changing the number of partitions due to how Kafka behaves after increasing/decreasing them



    Minimum: 1

    false
    replicasinteger

    Number of replicas for this topic


    Minimum: 0

    false

    LHKafkaTopic.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

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

    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

    LHKeycloakAuthenticationFlow

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

    LHKeycloakAuthenticationFlow.spec

    ↩ Parent
    NameTypeDescriptionRequired
    authenticationFlowobject
    true
    realmobject
    true

    LHKeycloakAuthenticationFlow.spec.authenticationFlow

    ↩ Parent
    NameTypeDescriptionRequired
    aliasstring

    Flow name.

    true
    providerIdenum

    Flow type.


    Enum: BasicFlow, ClientFlow

    true
    bindingenum

    Bind this flow as a realm-level flow binding.


    Enum: browser, clientAuthentication, directGrant, dockerAuthentication, registration, resetCredentials

    false
    descriptionstring
    false
    executions[]object
    false

    LHKeycloakAuthenticationFlow.spec.authenticationFlow.executions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    priorityinteger

    Execution priority inside the flow.

    true
    providerenum

    Execution provider.


    Enum: AUTH_COOKIE, IDENTITY_PROVIDER_REDIRECTOR, IDP_AUTO_LINK, IDP_DETECT_EXISTING_BROKER_USER

    true
    requirementenum

    Execution requirement. Supported values: ALTERNATIVE, REQUIRED, DISABLED.


    Enum: ALTERNATIVE, DISABLED, REQUIRED

    true
    configobject

    Optional execution configuration.

    false

    LHKeycloakAuthenticationFlow.spec.authenticationFlow.executions[index].config

    ↩ Parent

    Optional execution configuration.

    NameTypeDescriptionRequired
    aliasstring

    Configuration alias in Keycloak.

    true
    authenticatorReferenceMaxAgestring
    false
    authenticatorReferenceValuestring

    Authenticator reference

    false
    defaultProviderstring

    Default Identity Provider

    false

    LHKeycloakAuthenticationFlow.spec.realm

    ↩ Parent
    NameTypeDescriptionRequired
    lhKeycloakRealmRefobject

    Validations:

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

    LHKeycloakAuthenticationFlow.spec.realm.lhKeycloakRealmRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakAuthenticationFlow.status

    ↩ Parent
    NameTypeDescriptionRequired
    authenticationFlowstring

    Authentication flow

    false
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    realmNamestring

    Keycloak realm name

    false

    LHKeycloakAuthenticationFlow.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
    defaultClientScopes[]string

    List of client scopes assigned as default to the client

    false
    descriptionstring
    false
    directAccessGrantsEnabledboolean
    false
    enabledboolean
    false
    frontchannelLogoutboolean
    false
    implicitFlowEnabledboolean
    false
    optionalClientScopes[]string

    List of client scopes assigned as optional to the client

    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

    LHKeycloakClientScope

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

    LHKeycloakClientScope.spec

    ↩ Parent
    NameTypeDescriptionRequired
    clientScopeobject
    true
    realmobject
    true

    LHKeycloakClientScope.spec.clientScope

    ↩ Parent
    NameTypeDescriptionRequired
    namestring

    Validations:

  • self == oldSelf: name is immutable once the resource has been created
  • true
    protocolstring
    true
    descriptionstring
    false
    displayOnConsentScreenboolean
    false
    includeInTokenScopeboolean
    false
    protocolMappers[]object
    false

    LHKeycloakClientScope.spec.clientScope.protocolMappers[index]

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

    LHKeycloakClientScope.spec.realm

    ↩ Parent
    NameTypeDescriptionRequired
    lhKeycloakRealmRefobject

    Validations:

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

    LHKeycloakClientScope.spec.realm.lhKeycloakRealmRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakClientScope.status

    ↩ Parent
    NameTypeDescriptionRequired
    clientScopestring

    Client Scope

    false
    conditions[]object
    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    realmNamestring

    Keycloak realm name

    false
    recordIdstring
    false

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

    Validations:

  • self.providerId != 'oidc' || (has(self.authorizationUrl) && self.authorizationUrl != ''): authorizationUrl is required when providerId is oidc
  • self.providerId != 'oidc' || (has(self.tokenUrl) && self.tokenUrl != ''): tokenUrl is required when providerId is oidc
  • 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


    Validations:

  • self == oldSelf: alias is immutable once the resource is created
  • true
    credentialsobject

    Configuration of the ClientId and ClientSecret for the OAuth client

    true
    providerIdenum

    Enum: github, google, oidc

    true
    realmobject

    Realm this Identity Provider belongs to

    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.

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

    The scopes to be sent when asking for authorization. It can be a space-separated list of scopes

    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
    firstBrokerLoginFlowAliasobject

    Reference or alias of the authentication flow to use as first broker login flow. Only one value is accepted


    Validations:

  • has(self.lhKeycloakAuthenticationFlowRef) != has(self.alias): Exactly one of lhKeycloakAuthenticationFlowRef or alias must be configured.
  • false
    forwardParametersstring

    Non OpenID Connect/OAuth standard query parameters to be forwarded to external IDP from the initial application request to Authorization Endpoint. Multiple parameters can be entered, separated by comma.

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

    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.spec.firstBrokerLoginFlowAlias

    ↩ Parent

    Reference or alias of the authentication flow to use as first broker login flow. Only one value is accepted

    NameTypeDescriptionRequired
    aliasstring

    Alias of the authentication flow in Keycloak.

    false
    lhKeycloakAuthenticationFlowRefobject

    Reference to an LHKeycloakAuthenticationFlow resource.

    false

    LHKeycloakOIDCProvider.spec.firstBrokerLoginFlowAlias.lhKeycloakAuthenticationFlowRef

    ↩ Parent

    Reference to an LHKeycloakAuthenticationFlow resource.

    NameTypeDescriptionRequired
    namestring

    Name of the LHKeycloakAuthenticationFlow resource.

    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
    authenticationobject
    false
    bruteForceProtectedboolean
    false
    displayNamestring
    false
    duplicateEmailsAllowedboolean
    false
    editUsernameAllowedboolean
    false
    enabledboolean
    false
    failureFactorinteger
    false
    loginThemestring
    false
    loginWithEmailAllowedboolean
    false
    organizationsEnabledboolean
    false
    registrationAllowedboolean
    false
    registrationEmailAsUsernameboolean
    false
    resetPasswordAllowedboolean
    false
    smtpServerobject
    false
    sslRequiredstring
    false
    ssoSessionIdleTimeoutinteger
    false
    ssoSessionMaxLifespaninteger
    false

    LHKeycloakRealm.spec.realm.authentication

    ↩ Parent
    NameTypeDescriptionRequired
    policiesobject
    false

    LHKeycloakRealm.spec.realm.authentication.policies

    ↩ Parent
    NameTypeDescriptionRequired
    passwordPoliciesobject

    Validations:

  • (!has(self.hashAlgorithm) || size(self.hashAlgorithm.trim()) > 0) && (!has(self.regexPattern) || size(self.regexPattern.trim()) > 0) && (!has(self.passwordBlacklist) || size(self.passwordBlacklist.trim()) > 0) : String password policies must be non-empty
  • false

    LHKeycloakRealm.spec.realm.authentication.policies.passwordPolicies

    ↩ Parent
    NameTypeDescriptionRequired
    digitsinteger

    Digits


    Minimum: 1

    false
    forceExpiredPasswordChangeinteger

    Expire Password


    Minimum: 1

    false
    hashAlgorithmstring

    Hashing Algorithm

    false
    hashIterationsinteger

    Hashing Iterations


    Minimum: 1

    false
    lengthinteger

    Minimum Length


    Minimum: 1

    false
    lowerCaseinteger

    Lowercase Characters


    Minimum: 1

    false
    maxAuthAgeinteger

    Maximum Authentication Age


    Minimum: 1

    false
    maxLengthinteger

    Maximum Length


    Minimum: 1

    false
    notContainsUsernameboolean

    Not Contains Username

    false
    notEmailboolean

    Not Email

    false
    notUsernameboolean

    Not Username

    false
    passwordAgeinteger

    Not Recently Used (In Days)


    Minimum: 1

    false
    passwordBlackliststring

    Password Blacklist: The blacklist file must exist before setting this value.

    false
    passwordHistoryinteger

    Not Recently Used


    Minimum: 1

    false
    recoveryCodesWarningThresholdinteger

    Recovery Codes Warning Threshold


    Minimum: 1

    false
    regexPatternstring

    Regular Expression

    false
    specialCharsinteger

    Special Characters


    Minimum: 1

    false
    upperCaseinteger

    Uppercase Characters


    Minimum: 1

    false

    LHKeycloakRealm.spec.realm.smtpServer

    ↩ Parent
    NameTypeDescriptionRequired
    fromstring
    true
    smtpobject
    true
    envelopeFromstring
    false
    fromDisplayNamestring
    false
    replyTostring
    false
    replyToDisplayNamestring
    false

    LHKeycloakRealm.spec.realm.smtpServer.smtp

    ↩ Parent
    NameTypeDescriptionRequired
    hoststring
    true
    allowUTF8boolean
    false
    authobject

    Validations:

  • has(self.password): An authentication method must be provided (currently only password is supported).
  • false
    debugboolean
    false
    portinteger
    false
    sslboolean
    false

    LHKeycloakRealm.spec.realm.smtpServer.smtp.auth

    ↩ Parent
    NameTypeDescriptionRequired
    usernamestring
    true
    passwordobject

    The password for the SMTP server. The value is expected to be a reference to a secret that contains the password in a key named 'password'.

    false

    LHKeycloakRealm.spec.realm.smtpServer.smtp.auth.password

    ↩ Parent

    The password for the SMTP server. The value is expected to be a reference to a secret that contains the password in a key named 'password'.

    NameTypeDescriptionRequired
    secretRefSpecobject

    The reference to the secret that contains the SMTP password. The secret should contain a key named 'password' with the SMTP password as its value.

    true

    LHKeycloakRealm.spec.realm.smtpServer.smtp.auth.password.secretRefSpec

    ↩ Parent

    The reference to the secret that contains the SMTP password. The secret should contain a key named 'password' with the SMTP password as its value.

    NameTypeDescriptionRequired
    namestring
    true

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

    Additional Keycloak server options. Use Keycloak option names without the 'kc.' prefix.

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

    Logging configuration for Keycloak

    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
    storageobject

    Storage configuration for Keycloak.


    Validations:

  • oldSelf == null || !quantity(string(self.volumeSize)) .isLessThan(quantity(string(oldSelf.volumeSize))) : Cannot decrease volume size.
  • 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.additionalOptions[index]

    ↩ Parent
    NameTypeDescriptionRequired
    namestring

    Keycloak option name without the 'kc.' prefix. Example: SPI-CONNECTIONS-HTTP-CLIENT-DEFAULT-CONNECTION-TTL-MILLIS

    true
    valuestring

    Plain text value for the option

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

    ↩ Parent

    Logging configuration for Keycloak

    NameTypeDescriptionRequired
    consoleJsonFormatstring

    JSON console log format. Supported values: default, ecs

    false
    consoleOutputstring

    Console log output format. Supported values: default, json

    false
    levelstring

    Root log level. Example: info, debug, warn

    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.spec.storage

    ↩ Parent

    Storage configuration for Keycloak.

    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

    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

    LHKeycloakTheme

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

    LHKeycloakTheme.spec

    ↩ Parent
    NameTypeDescriptionRequired
    imagestring

    Container image that contains the Keycloak theme

    true
    keycloakobject

    Target LHKeycloak where this theme should be copied

    true
    imagePullPolicyenum

    Image pull policy for the theme copy job


    Enum: Always, IfNotPresent, Never
    Default: IfNotPresent

    false

    LHKeycloakTheme.spec.keycloak

    ↩ Parent

    Target LHKeycloak where this theme should be copied

    NameTypeDescriptionRequired
    lhKeycloakRefobject
    true

    LHKeycloakTheme.spec.keycloak.lhKeycloakRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHKeycloakTheme.status

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

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    replicasinteger
    false

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

    Validations:

  • self == oldSelf: username is immutable; delete and recreate the LHKeycloakUser to use a different username
  • 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.


    Validations:

  • self == oldSelf: Cannot change principalName after creation
  • 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


    Validations:

  • self == oldSelf: name is immutable
  • 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

    LHQuota

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

    LHQuota.spec

    ↩ Parent
    NameTypeDescriptionRequired
    lhClusterobject

    Specifies the LittleHorse Cluster

    true
    quotasobject

    The quota limits to enforce in the LittleHorse Cluster.

    true
    tenantNamestring

    The name of the Tenant governed by this quota.


    Validations:

  • self == oldSelf: Cannot change tenantName after creation
  • true
    principalNamestring

    The name of the Principal governed by this quota. If omitted, the quota applies to all Principals in the Tenant.


    Validations:

  • self == oldSelf: Cannot change principalName after creation
  • false

    LHQuota.spec.lhCluster

    ↩ Parent

    Specifies the LittleHorse Cluster

    NameTypeDescriptionRequired
    lhClusterRefobject

    Specifies a LittleHorse Cluster managed by the same Operator

    true

    LHQuota.spec.lhCluster.lhClusterRef

    ↩ Parent

    Specifies a LittleHorse Cluster managed by the same Operator

    NameTypeDescriptionRequired
    namestring

    Specifies a the name of the LittleHorse Cluster


    Validations:

  • self == oldSelf: name is immutable
  • true

    LHQuota.spec.quotas

    ↩ Parent

    The quota limits to enforce in the LittleHorse Cluster.

    NameTypeDescriptionRequired
    writeRequestsPerSecondinteger

    The maximum number of mutating unary gRPC requests allowed per second.

    true

    LHQuota.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    lhClusterstring

    The LHCluster that the Quota belongs to

    false
    observedGenerationinteger
    false
    principalIdstring

    The Principal governed by the Quota in the LHCluster, if any.

    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    tenantIdstring

    The Tenant governed by the Quota in the LHCluster.

    false

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


    Validations:

  • self == oldSelf: name is immutable
  • 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

    Resource Types:

    LHSaddle

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

    LHSaddle.spec

    ↩ Parent
    NameTypeDescriptionRequired
    realmobject
    true
    externalSaddleRefobject
    false

    LHSaddle.spec.realm

    ↩ Parent
    NameTypeDescriptionRequired
    lhKeycloakRealmRefobject

    Validations:

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

    LHSaddle.spec.realm.lhKeycloakRealmRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHSaddle.spec.externalSaddleRef

    ↩ Parent
    NameTypeDescriptionRequired
    credentialsobject
    true
    urlstring
    true

    LHSaddle.spec.externalSaddleRef.credentials

    ↩ Parent
    NameTypeDescriptionRequired
    secretRefobject
    true

    LHSaddle.spec.externalSaddleRef.credentials.secretRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHSaddle.status

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

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

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

    LHSaddleTenant

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

    LHSaddleTenant.spec

    ↩ Parent
    NameTypeDescriptionRequired
    saddleobject
    true
    tenantobject
    true

    LHSaddleTenant.spec.saddle

    ↩ Parent
    NameTypeDescriptionRequired
    lhSaddleRefobject

    Validations:

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

    LHSaddleTenant.spec.saddle.lhSaddleRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHSaddleTenant.spec.tenant

    ↩ Parent
    NameTypeDescriptionRequired
    tenantIdstring

    Validations:

  • self == oldSelf: tenantId is immutable once the resource has been created
  • !self.matches('^[0-9].*'): tenantId must not start with a digit
  • true
    descriptionstring
    false

    LHSaddleTenant.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    idstring

    Saddle tenant database id

    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false

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

    LHSaddleUser

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

    LHSaddleUser.spec

    ↩ Parent
    NameTypeDescriptionRequired
    saddleTenantobject
    true
    userobject
    true

    LHSaddleUser.spec.saddleTenant

    ↩ Parent
    NameTypeDescriptionRequired
    lhSaddleTenantRefobject

    Validations:

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

    LHSaddleUser.spec.saddleTenant.lhSaddleTenantRef

    ↩ Parent
    NameTypeDescriptionRequired
    namestring
    true

    LHSaddleUser.spec.user

    ↩ Parent
    NameTypeDescriptionRequired
    emailstring

    Validations:

  • self == oldSelf: email is immutable once the resource has been created
  • true
    enabledboolean

    Default: true

    false

    LHSaddleUser.status

    ↩ Parent
    NameTypeDescriptionRequired
    conditions[]object
    false
    idstring

    Saddle database user id

    false
    observedGenerationinteger
    false
    problemsstring

    DEPRECATED. Please check for a ReconciliationError condition instead.

    false
    statusstring

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

    false

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