// This file is auto-generated by io.strimzi.crdgenerator.DocGenerator.
// To change this documentation you need to edit the Java sources.

[id='type-Kafka-{context}']
### `Kafka` schema reference


[options="header"]
|====
|Field        |Description
|spec  1.2+<.<|The specification of the Kafka and Zookeeper clusters, and Topic Operator.
|xref:type-KafkaSpec-{context}[`KafkaSpec`]
|====

[id='type-KafkaSpec-{context}']
### `KafkaSpec` schema reference

Used in: xref:type-Kafka-{context}[`Kafka`]


[options="header"]
|====
|Field                  |Description
|kafka           1.2+<.<|Configuration of the Kafka cluster.
|xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`]
|zookeeper       1.2+<.<|Configuration of the Zookeeper cluster.
|xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]
|topicOperator   1.2+<.<|Configuration of the Topic Operator.
|xref:type-TopicOperatorSpec-{context}[`TopicOperatorSpec`]
|clientsCa       1.2+<.<|Configuration of the clients certificate authority.
|xref:type-CertificateAuthority-{context}[`CertificateAuthority`]
|clusterCa       1.2+<.<|Configuration of the cluster certificate authority.
|xref:type-CertificateAuthority-{context}[`CertificateAuthority`]
|entityOperator  1.2+<.<|Configuration of the Entity Operator.
|xref:type-EntityOperatorSpec-{context}[`EntityOperatorSpec`]
|====

[id='type-KafkaClusterSpec-{context}']
### `KafkaClusterSpec` schema reference

Used in: xref:type-KafkaSpec-{context}[`KafkaSpec`]


[options="header"]
|====
|Field                       |Description
|replicas             1.2+<.<|The number of pods in the cluster.
|integer
|image                1.2+<.<|The docker image for the pods.
|string
|storage              1.2+<.<|Storage configuration (disk). Cannot be updated. The type depends on the value of the `storage.type` property within the given object, which must be one of [ephemeral, persistent-claim].
|xref:type-EphemeralStorage-{context}[`EphemeralStorage`], xref:type-PersistentClaimStorage-{context}[`PersistentClaimStorage`]
|listeners            1.2+<.<|Configures listeners of Kafka brokers.
|xref:type-KafkaListeners-{context}[`KafkaListeners`]
|authorization        1.2+<.<|Authorization configuration for Kafka brokers. The type depends on the value of the `authorization.type` property within the given object, which must be one of [simple].
|xref:type-KafkaAuthorizationSimple-{context}[`KafkaAuthorizationSimple`]
|config               1.2+<.<|The kafka broker config. Properties with the following prefixes cannot be set: listeners, advertised., broker., listener., host.name, port, inter.broker.listener.name, sasl., ssl., security., password., principal.builder.class, log.dir, zookeeper.connect, zookeeper.set.acl, authorizer., super.user.
|map
|rack                 1.2+<.<|Configuration of the `broker.rack` broker config.
|xref:type-Rack-{context}[`Rack`]
|brokerRackInitImage  1.2+<.<|The image of the init container used for initializing the `broker.rack`.
|string
|affinity             1.2+<.<|Pod affinity rules.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[core/v1 affinity].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[Affinity]
|tolerations          1.2+<.<|Pod's tolerations.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[core/v1 tolerations].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[Toleration] array
|livenessProbe        1.2+<.<|Pod liveness checking.
|xref:type-Probe-{context}[`Probe`]
|readinessProbe       1.2+<.<|Pod readiness checking.
|xref:type-Probe-{context}[`Probe`]
|jvmOptions           1.2+<.<|JVM Options for pods.
|xref:type-JvmOptions-{context}[`JvmOptions`]
|resources            1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|metrics              1.2+<.<|The Prometheus JMX Exporter configuration. See https://github.com/prometheus/jmx_exporter for details of the structure of this configuration.
|map
|logging              1.2+<.<|Logging configuration for Kafka. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|tlsSidecar           1.2+<.<|TLS sidecar configuration.
|xref:type-TlsSidecar-{context}[`TlsSidecar`]
|====

[id='type-EphemeralStorage-{context}']
### `EphemeralStorage` schema reference

Used in: xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


The `type` property is a discriminator that distinguishes the use of the type `EphemeralStorage` from xref:type-PersistentClaimStorage-{context}[`PersistentClaimStorage`].
It must have the value `ephemeral` for the type `EphemeralStorage`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `ephemeral`.
|string
|====

[id='type-PersistentClaimStorage-{context}']
### `PersistentClaimStorage` schema reference

Used in: xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


The `type` property is a discriminator that distinguishes the use of the type `PersistentClaimStorage` from xref:type-EphemeralStorage-{context}[`EphemeralStorage`].
It must have the value `persistent-claim` for the type `PersistentClaimStorage`.
[options="header"]
|====
|Field               |Description
|type         1.2+<.<|Must be `persistent-claim`.
|string
|size         1.2+<.<|When type=persistent-claim, defines the size of the persistent volume claim (i.e 1Gi). Mandatory when type=persistent-claim.
|string
|selector     1.2+<.<|Specifies a specific persistent volume to use. It contains a matchLabels field which defines an inner JSON object with key:value representing labels for selecting such a volume.
|map
|deleteClaim  1.2+<.<|Specifies if the persistent volume claim has to be deleted when the cluster is un-deployed.
|boolean
|class        1.2+<.<|The storage class to use for dynamic volume allocation.
|string
|====

[id='type-KafkaListeners-{context}']
### `KafkaListeners` schema reference

Used in: xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`]


[options="header"]
|====
|Field            |Description
|plain     1.2+<.<|Configures plain listener on port 9092.
|xref:type-KafkaListenerPlain-{context}[`KafkaListenerPlain`]
|tls       1.2+<.<|Configures TLS listener on port 9093.
|xref:type-KafkaListenerTls-{context}[`KafkaListenerTls`]
|external  1.2+<.<|Configures external listener on port 9094. The type depends on the value of the `external.type` property within the given object, which must be one of [route, loadbalancer, nodeport].
|xref:type-KafkaListenerExternalRoute-{context}[`KafkaListenerExternalRoute`], xref:type-KafkaListenerExternalLoadBalancer-{context}[`KafkaListenerExternalLoadBalancer`], xref:type-KafkaListenerExternalNodePort-{context}[`KafkaListenerExternalNodePort`]
|====

[id='type-KafkaListenerPlain-{context}']
### `KafkaListenerPlain` schema reference

Used in: xref:type-KafkaListeners-{context}[`KafkaListeners`]


[options="header"]
|====
|Field                  |Description
|authentication  1.2+<.<|Authentication configuration for this listener. Since this listener does not use TLS transport you cannot configure an authentication with `type: tls`. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaListenerAuthenticationTls-{context}[`KafkaListenerAuthenticationTls`], xref:type-KafkaListenerAuthenticationScramSha512-{context}[`KafkaListenerAuthenticationScramSha512`]
|====

[id='type-KafkaListenerAuthenticationTls-{context}']
### `KafkaListenerAuthenticationTls` schema reference

Used in: xref:type-KafkaListenerExternalLoadBalancer-{context}[`KafkaListenerExternalLoadBalancer`], xref:type-KafkaListenerExternalNodePort-{context}[`KafkaListenerExternalNodePort`], xref:type-KafkaListenerExternalRoute-{context}[`KafkaListenerExternalRoute`], xref:type-KafkaListenerPlain-{context}[`KafkaListenerPlain`], xref:type-KafkaListenerTls-{context}[`KafkaListenerTls`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaListenerAuthenticationTls` from xref:type-KafkaListenerAuthenticationScramSha512-{context}[`KafkaListenerAuthenticationScramSha512`].
It must have the value `tls` for the type `KafkaListenerAuthenticationTls`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `tls`.
|string
|====

[id='type-KafkaListenerAuthenticationScramSha512-{context}']
### `KafkaListenerAuthenticationScramSha512` schema reference

Used in: xref:type-KafkaListenerExternalLoadBalancer-{context}[`KafkaListenerExternalLoadBalancer`], xref:type-KafkaListenerExternalNodePort-{context}[`KafkaListenerExternalNodePort`], xref:type-KafkaListenerExternalRoute-{context}[`KafkaListenerExternalRoute`], xref:type-KafkaListenerPlain-{context}[`KafkaListenerPlain`], xref:type-KafkaListenerTls-{context}[`KafkaListenerTls`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaListenerAuthenticationScramSha512` from xref:type-KafkaListenerAuthenticationTls-{context}[`KafkaListenerAuthenticationTls`].
It must have the value `scram-sha-512` for the type `KafkaListenerAuthenticationScramSha512`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `scram-sha-512`.
|string
|====

[id='type-KafkaListenerTls-{context}']
### `KafkaListenerTls` schema reference

Used in: xref:type-KafkaListeners-{context}[`KafkaListeners`]


[options="header"]
|====
|Field                  |Description
|authentication  1.2+<.<|Authentication configuration for this listener. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaListenerAuthenticationTls-{context}[`KafkaListenerAuthenticationTls`], xref:type-KafkaListenerAuthenticationScramSha512-{context}[`KafkaListenerAuthenticationScramSha512`]
|====

[id='type-KafkaListenerExternalRoute-{context}']
### `KafkaListenerExternalRoute` schema reference

Used in: xref:type-KafkaListeners-{context}[`KafkaListeners`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaListenerExternalRoute` from xref:type-KafkaListenerExternalLoadBalancer-{context}[`KafkaListenerExternalLoadBalancer`], xref:type-KafkaListenerExternalNodePort-{context}[`KafkaListenerExternalNodePort`].
It must have the value `route` for the type `KafkaListenerExternalRoute`.
[options="header"]
|====
|Field                  |Description
|type            1.2+<.<|Must be `route`.
|string
|authentication  1.2+<.<|Authentication configuration for Kafka brokers. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaListenerAuthenticationTls-{context}[`KafkaListenerAuthenticationTls`], xref:type-KafkaListenerAuthenticationScramSha512-{context}[`KafkaListenerAuthenticationScramSha512`]
|====

[id='type-KafkaListenerExternalLoadBalancer-{context}']
### `KafkaListenerExternalLoadBalancer` schema reference

Used in: xref:type-KafkaListeners-{context}[`KafkaListeners`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaListenerExternalLoadBalancer` from xref:type-KafkaListenerExternalRoute-{context}[`KafkaListenerExternalRoute`], xref:type-KafkaListenerExternalNodePort-{context}[`KafkaListenerExternalNodePort`].
It must have the value `loadbalancer` for the type `KafkaListenerExternalLoadBalancer`.
[options="header"]
|====
|Field                  |Description
|type            1.2+<.<|Must be `loadbalancer`.
|string
|authentication  1.2+<.<|Authentication configuration for Kafka brokers. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaListenerAuthenticationTls-{context}[`KafkaListenerAuthenticationTls`], xref:type-KafkaListenerAuthenticationScramSha512-{context}[`KafkaListenerAuthenticationScramSha512`]
|tls             1.2+<.<|Enables TLS encryption on the listener. By default set to `true` for enabled TLS encryption.
|boolean
|====

[id='type-KafkaListenerExternalNodePort-{context}']
### `KafkaListenerExternalNodePort` schema reference

Used in: xref:type-KafkaListeners-{context}[`KafkaListeners`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaListenerExternalNodePort` from xref:type-KafkaListenerExternalRoute-{context}[`KafkaListenerExternalRoute`], xref:type-KafkaListenerExternalLoadBalancer-{context}[`KafkaListenerExternalLoadBalancer`].
It must have the value `nodeport` for the type `KafkaListenerExternalNodePort`.
[options="header"]
|====
|Field                  |Description
|type            1.2+<.<|Must be `nodeport`.
|string
|authentication  1.2+<.<|Authentication configuration for Kafka brokers. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaListenerAuthenticationTls-{context}[`KafkaListenerAuthenticationTls`], xref:type-KafkaListenerAuthenticationScramSha512-{context}[`KafkaListenerAuthenticationScramSha512`]
|tls             1.2+<.<|Enables TLS encryption on the listener. By default set to `true` for enabled TLS encryption.
|boolean
|====

[id='type-KafkaAuthorizationSimple-{context}']
### `KafkaAuthorizationSimple` schema reference

Used in: xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaAuthorizationSimple` from other subtypes which may be added in the future.
It must have the value `simple` for the type `KafkaAuthorizationSimple`.
[options="header"]
|====
|Field              |Description
|type        1.2+<.<|Must be `simple`.
|string
|superUsers  1.2+<.<|List of super users. Should contain list of user principals which should get unlimited access rights.
|string array
|====

[id='type-Rack-{context}']
### `Rack` schema reference

Used in: xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`]


[options="header"]
|====
|Field               |Description
|topologyKey  1.2+<.<|A key that matches labels assigned to the OpenShift or Kubernetes cluster nodes. The value of the label is used to set the broker's `broker.rack` config.
|string
|====

[id='type-Probe-{context}']
### `Probe` schema reference

Used in: xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


[options="header"]
|====
|Field                       |Description
|initialDelaySeconds  1.2+<.<|The initial delay before first the health is first checked.
|integer
|timeoutSeconds       1.2+<.<|The timeout for each attempted health check.
|integer
|====

[id='type-JvmOptions-{context}']
### `JvmOptions` schema reference

Used in: xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`], xref:type-KafkaMirrorMakerSpec-{context}[`KafkaMirrorMakerSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


[options="header"]
|====
|Field        |Description
|-XX   1.2+<.<|A map of -XX options to the JVM.
|map
|-Xms  1.2+<.<|-Xms option to to the JVM.
|string
|-Xmx  1.2+<.<|-Xmx option to to the JVM.
|string
|====

[id='type-Resources-{context}']
### `Resources` schema reference

Used in: xref:type-EntityTopicOperatorSpec-{context}[`EntityTopicOperatorSpec`], xref:type-EntityUserOperatorSpec-{context}[`EntityUserOperatorSpec`], xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`], xref:type-KafkaMirrorMakerSpec-{context}[`KafkaMirrorMakerSpec`], xref:type-TlsSidecar-{context}[`TlsSidecar`], xref:type-TopicOperatorSpec-{context}[`TopicOperatorSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


[options="header"]
|====
|Field            |Description
|limits    1.2+<.<|Resource limits applied at runtime.
|xref:type-CpuMemory-{context}[`CpuMemory`]
|requests  1.2+<.<|Resource requests applied during pod scheduling.
|xref:type-CpuMemory-{context}[`CpuMemory`]
|====

[id='type-CpuMemory-{context}']
### `CpuMemory` schema reference

Used in: xref:type-Resources-{context}[`Resources`]


[options="header"]
|====
|Field          |Description
|cpu     1.2+<.<|CPU.
|string
|memory  1.2+<.<|Memory.
|string
|====

[id='type-InlineLogging-{context}']
### `InlineLogging` schema reference

Used in: xref:type-EntityTopicOperatorSpec-{context}[`EntityTopicOperatorSpec`], xref:type-EntityUserOperatorSpec-{context}[`EntityUserOperatorSpec`], xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`], xref:type-KafkaMirrorMakerSpec-{context}[`KafkaMirrorMakerSpec`], xref:type-TopicOperatorSpec-{context}[`TopicOperatorSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


The `type` property is a discriminator that distinguishes the use of the type `InlineLogging` from xref:type-ExternalLogging-{context}[`ExternalLogging`].
It must have the value `inline` for the type `InlineLogging`.
[options="header"]
|====
|Field           |Description
|type     1.2+<.<|Must be `inline`.
|string
|loggers  1.2+<.<|A Map from logger name to logger level.
|map
|====

[id='type-ExternalLogging-{context}']
### `ExternalLogging` schema reference

Used in: xref:type-EntityTopicOperatorSpec-{context}[`EntityTopicOperatorSpec`], xref:type-EntityUserOperatorSpec-{context}[`EntityUserOperatorSpec`], xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`], xref:type-KafkaMirrorMakerSpec-{context}[`KafkaMirrorMakerSpec`], xref:type-TopicOperatorSpec-{context}[`TopicOperatorSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


The `type` property is a discriminator that distinguishes the use of the type `ExternalLogging` from xref:type-InlineLogging-{context}[`InlineLogging`].
It must have the value `external` for the type `ExternalLogging`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `external`.
|string
|name  1.2+<.<|The name of the `ConfigMap` from which to get the logging configuration.
|string
|====

[id='type-TlsSidecar-{context}']
### `TlsSidecar` schema reference

Used in: xref:type-EntityOperatorSpec-{context}[`EntityOperatorSpec`], xref:type-KafkaClusterSpec-{context}[`KafkaClusterSpec`], xref:type-TopicOperatorSpec-{context}[`TopicOperatorSpec`], xref:type-ZookeeperClusterSpec-{context}[`ZookeeperClusterSpec`]


[options="header"]
|====
|Field             |Description
|image      1.2+<.<|The docker image for the container.
|string
|logLevel   1.2+<.<|The log level for the TLS sidecar.Default value is `notice`.
|string (one of [emerg, debug, crit, err, alert, warning, notice, info])
|resources  1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|====

[id='type-ZookeeperClusterSpec-{context}']
### `ZookeeperClusterSpec` schema reference

Used in: xref:type-KafkaSpec-{context}[`KafkaSpec`]


[options="header"]
|====
|Field                  |Description
|replicas        1.2+<.<|The number of pods in the cluster.
|integer
|image           1.2+<.<|The docker image for the pods.
|string
|storage         1.2+<.<|Storage configuration (disk). Cannot be updated. The type depends on the value of the `storage.type` property within the given object, which must be one of [ephemeral, persistent-claim].
|xref:type-EphemeralStorage-{context}[`EphemeralStorage`], xref:type-PersistentClaimStorage-{context}[`PersistentClaimStorage`]
|config          1.2+<.<|The zookeeper broker config. Properties with the following prefixes cannot be set: server., dataDir, dataLogDir, clientPort, authProvider, quorum.auth, requireClientAuthScheme.
|map
|affinity        1.2+<.<|Pod affinity rules.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[core/v1 affinity].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[Affinity]
|tolerations     1.2+<.<|Pod's tolerations.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[core/v1 tolerations].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[Toleration] array
|livenessProbe   1.2+<.<|Pod liveness checking.
|xref:type-Probe-{context}[`Probe`]
|readinessProbe  1.2+<.<|Pod readiness checking.
|xref:type-Probe-{context}[`Probe`]
|jvmOptions      1.2+<.<|JVM Options for pods.
|xref:type-JvmOptions-{context}[`JvmOptions`]
|resources       1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|metrics         1.2+<.<|The Prometheus JMX Exporter configuration. See https://github.com/prometheus/jmx_exporter for details of the structure of this configuration.
|map
|logging         1.2+<.<|Logging configuration for Zookeeper. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|tlsSidecar      1.2+<.<|TLS sidecar configuration.
|xref:type-TlsSidecar-{context}[`TlsSidecar`]
|====

[id='type-TopicOperatorSpec-{context}']
### `TopicOperatorSpec` schema reference

Used in: xref:type-KafkaSpec-{context}[`KafkaSpec`]


[options="header"]
|====
|Field                                  |Description
|watchedNamespace                1.2+<.<|The namespace the Topic Operator should watch.
|string
|image                           1.2+<.<|The image to use for the Topic Operator.
|string
|reconciliationIntervalSeconds   1.2+<.<|Interval between periodic reconciliations.
|integer
|zookeeperSessionTimeoutSeconds  1.2+<.<|Timeout for the Zookeeper session.
|integer
|affinity                        1.2+<.<|Pod affinity rules.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[core/v1 affinity].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[Affinity]
|resources                       1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|topicMetadataMaxAttempts        1.2+<.<|The number of attempts at getting topic metadata.
|integer
|tlsSidecar                      1.2+<.<|TLS sidecar configuration.
|xref:type-TlsSidecar-{context}[`TlsSidecar`]
|logging                         1.2+<.<|Logging configuration. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|====

[id='type-CertificateAuthority-{context}']
### `CertificateAuthority` schema reference

Used in: xref:type-KafkaSpec-{context}[`KafkaSpec`]

Configuration of how TLS certificates are used within the cluster.This applies to certificates used for both internal communication within the cluster and to certificates used for client access via `Kafka.spec.kafka.listeners.tls`.

[options="header"]
|====
|Field                                |Description
|generateCertificateAuthority  1.2+<.<|If true then Certificate Authority certificates will be generated automatically. Otherwise the user will need to provide a Secret with the CA certificate. Default is true.
|boolean
|validityDays                  1.2+<.<|The number of days generated certificates should be valid for. Default is 365.
|integer
|renewalDays                   1.2+<.<|The number of days in the certificate renewal period. This is the number of days before the a certificate expires during which renewal actions may be performed.When `generateCertificateAuthority` is true, this will cause the generation of a new certificate. When `generateCertificateAuthority` is true, this will cause extra logging at WARN level about the pending certificate expiry. Default is 30.
|integer
|====

[id='type-EntityOperatorSpec-{context}']
### `EntityOperatorSpec` schema reference

Used in: xref:type-KafkaSpec-{context}[`KafkaSpec`]


[options="header"]
|====
|Field                 |Description
|topicOperator  1.2+<.<|Configuration of the Topic Operator.
|xref:type-EntityTopicOperatorSpec-{context}[`EntityTopicOperatorSpec`]
|userOperator   1.2+<.<|Configuration of the User Operator.
|xref:type-EntityUserOperatorSpec-{context}[`EntityUserOperatorSpec`]
|affinity       1.2+<.<|Pod affinity rules.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[core/v1 affinity].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[Affinity]
|tolerations    1.2+<.<|Pod's tolerations.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[core/v1 tolerations].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[Toleration] array
|tlsSidecar     1.2+<.<|TLS sidecar configuration.
|xref:type-TlsSidecar-{context}[`TlsSidecar`]
|====

[id='type-EntityTopicOperatorSpec-{context}']
### `EntityTopicOperatorSpec` schema reference

Used in: xref:type-EntityOperatorSpec-{context}[`EntityOperatorSpec`]


[options="header"]
|====
|Field                                  |Description
|watchedNamespace                1.2+<.<|The namespace the Topic Operator should watch.
|string
|image                           1.2+<.<|The image to use for the Topic Operator.
|string
|reconciliationIntervalSeconds   1.2+<.<|Interval between periodic reconciliations.
|integer
|zookeeperSessionTimeoutSeconds  1.2+<.<|Timeout for the Zookeeper session.
|integer
|resources                       1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|topicMetadataMaxAttempts        1.2+<.<|The number of attempts at getting topic metadata.
|integer
|logging                         1.2+<.<|Logging configuration. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|====

[id='type-EntityUserOperatorSpec-{context}']
### `EntityUserOperatorSpec` schema reference

Used in: xref:type-EntityOperatorSpec-{context}[`EntityOperatorSpec`]


[options="header"]
|====
|Field                                  |Description
|watchedNamespace                1.2+<.<|The namespace the User Operator should watch.
|string
|image                           1.2+<.<|The image to use for the User Operator.
|string
|reconciliationIntervalSeconds   1.2+<.<|Interval between periodic reconciliations.
|integer
|zookeeperSessionTimeoutSeconds  1.2+<.<|Timeout for the Zookeeper session.
|integer
|resources                       1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|logging                         1.2+<.<|Logging configuration. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|====

[id='type-KafkaConnect-{context}']
### `KafkaConnect` schema reference


[options="header"]
|====
|Field        |Description
|spec  1.2+<.<|The specification of the Kafka Connect deployment.
|xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`]
|====

[id='type-KafkaConnectSpec-{context}']
### `KafkaConnectSpec` schema reference

Used in: xref:type-KafkaConnect-{context}[`KafkaConnect`]


[options="header"]
|====
|Field                    |Description
|replicas          1.2+<.<|The number of pods in the Kafka Connect group.
|integer
|image             1.2+<.<|The docker image for the pods.
|string
|livenessProbe     1.2+<.<|Pod liveness checking.
|xref:type-Probe-{context}[`Probe`]
|readinessProbe    1.2+<.<|Pod readiness checking.
|xref:type-Probe-{context}[`Probe`]
|jvmOptions        1.2+<.<|JVM Options for pods.
|xref:type-JvmOptions-{context}[`JvmOptions`]
|affinity          1.2+<.<|Pod affinity rules.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[core/v1 affinity].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[Affinity]
|tolerations       1.2+<.<|Pod's tolerations.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[core/v1 tolerations].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[Toleration] array
|logging           1.2+<.<|Logging configuration for Kafka Connect. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|metrics           1.2+<.<|The Prometheus JMX Exporter configuration. See https://github.com/prometheus/jmx_exporter for details of the structure of this configuration.
|map
|authentication    1.2+<.<|Authentication configuration for Kafka Connect. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaConnectAuthenticationTls-{context}[`KafkaConnectAuthenticationTls`], xref:type-KafkaConnectAuthenticationScramSha512-{context}[`KafkaConnectAuthenticationScramSha512`]
|bootstrapServers  1.2+<.<|Bootstrap servers to connect to. This should be given as a comma separated list of _<hostname>_:‍_<port>_ pairs.
|string
|config            1.2+<.<|The Kafka Connect configuration. Properties with the following prefixes cannot be set: ssl., sasl., security., listeners, plugin.path, rest., bootstrap.servers.
|map
|resources         1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|tls               1.2+<.<|TLS configuration.
|xref:type-KafkaConnectTls-{context}[`KafkaConnectTls`]
|====

[id='type-KafkaConnectAuthenticationTls-{context}']
### `KafkaConnectAuthenticationTls` schema reference

Used in: xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaConnectAuthenticationTls` from xref:type-KafkaConnectAuthenticationScramSha512-{context}[`KafkaConnectAuthenticationScramSha512`].
It must have the value `tls` for the type `KafkaConnectAuthenticationTls`.
[options="header"]
|====
|Field                     |Description
|certificateAndKey  1.2+<.<|Certificate and private key pair for TLS authentication.
|xref:type-CertAndKeySecretSource-{context}[`CertAndKeySecretSource`]
|type               1.2+<.<|Must be `tls`.
|string
|====

[id='type-CertAndKeySecretSource-{context}']
### `CertAndKeySecretSource` schema reference

Used in: xref:type-KafkaConnectAuthenticationTls-{context}[`KafkaConnectAuthenticationTls`], xref:type-KafkaMirrorMakerAuthenticationTls-{context}[`KafkaMirrorMakerAuthenticationTls`]


[options="header"]
|====
|Field               |Description
|certificate  1.2+<.<|The name of the file certificate in the Secret.
|string
|key          1.2+<.<|The name of the private key in the Secret.
|string
|secretName   1.2+<.<|The name of the Secret containing the certificate.
|string
|====

[id='type-KafkaConnectAuthenticationScramSha512-{context}']
### `KafkaConnectAuthenticationScramSha512` schema reference

Used in: xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaConnectAuthenticationScramSha512` from xref:type-KafkaConnectAuthenticationTls-{context}[`KafkaConnectAuthenticationTls`].
It must have the value `scram-sha-512` for the type `KafkaConnectAuthenticationScramSha512`.
[options="header"]
|====
|Field                  |Description
|passwordSecret  1.2+<.<|Password used for the authentication.
|xref:type-PasswordSecretSource-{context}[`PasswordSecretSource`]
|type            1.2+<.<|Must be `scram-sha-512`.
|string
|username        1.2+<.<|Username used for the authentication.
|string
|====

[id='type-PasswordSecretSource-{context}']
### `PasswordSecretSource` schema reference

Used in: xref:type-KafkaConnectAuthenticationScramSha512-{context}[`KafkaConnectAuthenticationScramSha512`], xref:type-KafkaMirrorMakerAuthenticationScramSha512-{context}[`KafkaMirrorMakerAuthenticationScramSha512`]


[options="header"]
|====
|Field              |Description
|password    1.2+<.<|The name of the key in the Secret under which the password is stored.
|string
|secretName  1.2+<.<|The name of the Secret containing the password.
|string
|====

[id='type-KafkaConnectTls-{context}']
### `KafkaConnectTls` schema reference

Used in: xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`], xref:type-KafkaConnectSpec-{context}[`KafkaConnectSpec`]


[options="header"]
|====
|Field                       |Description
|trustedCertificates  1.2+<.<|Trusted certificates for TLS connection.
|xref:type-CertSecretSource-{context}[`CertSecretSource`] array
|====

[id='type-CertSecretSource-{context}']
### `CertSecretSource` schema reference

Used in: xref:type-KafkaConnectTls-{context}[`KafkaConnectTls`], xref:type-KafkaMirrorMakerTls-{context}[`KafkaMirrorMakerTls`]


[options="header"]
|====
|Field               |Description
|certificate  1.2+<.<|The name of the file certificate in the Secret.
|string
|secretName   1.2+<.<|The name of the Secret containing the certificate.
|string
|====

[id='type-KafkaConnectS2I-{context}']
### `KafkaConnectS2I` schema reference


[options="header"]
|====
|Field        |Description
|spec  1.2+<.<|The specification of the Kafka Connect deployment.
|xref:type-KafkaConnectS2ISpec-{context}[`KafkaConnectS2ISpec`]
|====

[id='type-KafkaConnectS2ISpec-{context}']
### `KafkaConnectS2ISpec` schema reference

Used in: xref:type-KafkaConnectS2I-{context}[`KafkaConnectS2I`]


[options="header"]
|====
|Field                            |Description
|replicas                  1.2+<.<|The number of pods in the Kafka Connect group.
|integer
|image                     1.2+<.<|The docker image for the pods.
|string
|livenessProbe             1.2+<.<|Pod liveness checking.
|xref:type-Probe-{context}[`Probe`]
|readinessProbe            1.2+<.<|Pod readiness checking.
|xref:type-Probe-{context}[`Probe`]
|jvmOptions                1.2+<.<|JVM Options for pods.
|xref:type-JvmOptions-{context}[`JvmOptions`]
|affinity                  1.2+<.<|Pod affinity rules.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[core/v1 affinity].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[Affinity]
|metrics                   1.2+<.<|The Prometheus JMX Exporter configuration. See https://github.com/prometheus/jmx_exporter for details of the structure of this configuration.
|map
|authentication            1.2+<.<|Authentication configuration for Kafka Connect. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaConnectAuthenticationTls-{context}[`KafkaConnectAuthenticationTls`], xref:type-KafkaConnectAuthenticationScramSha512-{context}[`KafkaConnectAuthenticationScramSha512`]
|bootstrapServers          1.2+<.<|Bootstrap servers to connect to. This should be given as a comma separated list of _<hostname>_:‍_<port>_ pairs.
|string
|config                    1.2+<.<|The Kafka Connect configuration. Properties with the following prefixes cannot be set: ssl., sasl., security., listeners, plugin.path, rest., bootstrap.servers.
|map
|insecureSourceRepository  1.2+<.<|When true this configures the source repository with the 'Local' reference policy and an import policy that accepts insecure source tags.
|boolean
|logging                   1.2+<.<|Logging configuration for Kafka Connect. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|resources                 1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|tls                       1.2+<.<|TLS configuration.
|xref:type-KafkaConnectTls-{context}[`KafkaConnectTls`]
|tolerations               1.2+<.<|Pod's tolerations.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[core/v1 tolerations].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[Toleration] array
|====

[id='type-KafkaTopic-{context}']
### `KafkaTopic` schema reference


[options="header"]
|====
|Field        |Description
|spec  1.2+<.<|The specification of the topic.
|xref:type-KafkaTopicSpec-{context}[`KafkaTopicSpec`]
|====

[id='type-KafkaTopicSpec-{context}']
### `KafkaTopicSpec` schema reference

Used in: xref:type-KafkaTopic-{context}[`KafkaTopic`]


[options="header"]
|====
|Field              |Description
|partitions  1.2+<.<|The number of partitions the topic should have. This cannot be decreased after topic creation. It can be increased after topic creation, but it is important to understand the consequences that has, especially for topics with semantic partitioning. If unspecified this will default to the broker's `num.partitions` config.
|integer
|replicas    1.2+<.<|The number of replicas the topic should have. If unspecified this will default to the broker's `default.replication.factor` config.
|integer
|config      1.2+<.<|The topic configuration.
|map
|topicName   1.2+<.<|The name of the topic. When absent this will default to the metadata.name of the topic. It is recommended to not set this unless the topic name is not a valid Kubernetes resource name.
|string
|====

[id='type-KafkaUser-{context}']
### `KafkaUser` schema reference


[options="header"]
|====
|Field        |Description
|spec  1.2+<.<|The specification of the user.
|xref:type-KafkaUserSpec-{context}[`KafkaUserSpec`]
|====

[id='type-KafkaUserSpec-{context}']
### `KafkaUserSpec` schema reference

Used in: xref:type-KafkaUser-{context}[`KafkaUser`]


[options="header"]
|====
|Field                  |Description
|authentication  1.2+<.<|Authentication mechanism enabled for this Kafka user. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaUserTlsClientAuthentication-{context}[`KafkaUserTlsClientAuthentication`], xref:type-KafkaUserScramSha512ClientAuthentication-{context}[`KafkaUserScramSha512ClientAuthentication`]
|authorization   1.2+<.<|Authorization rules for this Kafka user. The type depends on the value of the `authorization.type` property within the given object, which must be one of [simple].
|xref:type-KafkaUserAuthorizationSimple-{context}[`KafkaUserAuthorizationSimple`]
|====

[id='type-KafkaUserTlsClientAuthentication-{context}']
### `KafkaUserTlsClientAuthentication` schema reference

Used in: xref:type-KafkaUserSpec-{context}[`KafkaUserSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaUserTlsClientAuthentication` from xref:type-KafkaUserScramSha512ClientAuthentication-{context}[`KafkaUserScramSha512ClientAuthentication`].
It must have the value `tls` for the type `KafkaUserTlsClientAuthentication`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `tls`.
|string
|====

[id='type-KafkaUserScramSha512ClientAuthentication-{context}']
### `KafkaUserScramSha512ClientAuthentication` schema reference

Used in: xref:type-KafkaUserSpec-{context}[`KafkaUserSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaUserScramSha512ClientAuthentication` from xref:type-KafkaUserTlsClientAuthentication-{context}[`KafkaUserTlsClientAuthentication`].
It must have the value `scram-sha-512` for the type `KafkaUserScramSha512ClientAuthentication`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `scram-sha-512`.
|string
|====

[id='type-KafkaUserAuthorizationSimple-{context}']
### `KafkaUserAuthorizationSimple` schema reference

Used in: xref:type-KafkaUserSpec-{context}[`KafkaUserSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaUserAuthorizationSimple` from other subtypes which may be added in the future.
It must have the value `simple` for the type `KafkaUserAuthorizationSimple`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `simple`.
|string
|acls  1.2+<.<|List of ACL rules which should be applied to this user.
|xref:type-AclRule-{context}[`AclRule`] array
|====

[id='type-AclRule-{context}']
### `AclRule` schema reference

Used in: xref:type-KafkaUserAuthorizationSimple-{context}[`KafkaUserAuthorizationSimple`]


[options="header"]
|====
|Field             |Description
|host       1.2+<.<|The host from which the action described in the ACL rule is allowed or denied.
|string
|operation  1.2+<.<|Operation which will be allowed or denied. Supported operations are: Read, Write, Create, Delete, Alter, Describe, ClusterAction, AlterConfigs, DescribeConfigs, IdempotentWrite and All.
|string (one of [Read, Write, Delete, Alter, Describe, All, IdempotentWrite, ClusterAction, Create, AlterConfigs, DescribeConfigs])
|resource   1.2+<.<|Indicates the resource for which given ACL rule applies. The type depends on the value of the `resource.type` property within the given object, which must be one of [topic, group, cluster].
|xref:type-AclRuleTopicResource-{context}[`AclRuleTopicResource`], xref:type-AclRuleGroupResource-{context}[`AclRuleGroupResource`], xref:type-AclRuleClusterResource-{context}[`AclRuleClusterResource`]
|type       1.2+<.<|The type of the rule.Currently the only supported type is `allow`.ACL rules with type `allow` are used to allow user to execute the specified operations. Default value is `allow`.
|string (one of [allow, deny])
|====

[id='type-AclRuleTopicResource-{context}']
### `AclRuleTopicResource` schema reference

Used in: xref:type-AclRule-{context}[`AclRule`]


The `type` property is a discriminator that distinguishes the use of the type `AclRuleTopicResource` from xref:type-AclRuleGroupResource-{context}[`AclRuleGroupResource`], xref:type-AclRuleClusterResource-{context}[`AclRuleClusterResource`].
It must have the value `topic` for the type `AclRuleTopicResource`.
[options="header"]
|====
|Field               |Description
|type         1.2+<.<|Must be `topic`.
|string
|name         1.2+<.<|Name of resource for which given ACL rule applies. Can be combined with `patternType` field to use prefix pattern.
|string
|patternType  1.2+<.<|Describes the pattern used in the resource field. The supported types are `literal` and `prefix`. With `literal` pattern type, the resource field will be used as a definition of a full topic name. With `prefix` pattern type, the resource name will be used only as a prefix. Default value is `literal`.
|string (one of [prefix, literal])
|====

[id='type-AclRuleGroupResource-{context}']
### `AclRuleGroupResource` schema reference

Used in: xref:type-AclRule-{context}[`AclRule`]


The `type` property is a discriminator that distinguishes the use of the type `AclRuleGroupResource` from xref:type-AclRuleTopicResource-{context}[`AclRuleTopicResource`], xref:type-AclRuleClusterResource-{context}[`AclRuleClusterResource`].
It must have the value `group` for the type `AclRuleGroupResource`.
[options="header"]
|====
|Field               |Description
|type         1.2+<.<|Must be `group`.
|string
|name         1.2+<.<|Name of resource for which given ACL rule applies. Can be combined with `patternType` field to use prefix pattern.
|string
|patternType  1.2+<.<|Describes the pattern used in the resource field. The supported types are `literal` and `prefix`. With `literal` pattern type, the resource field will be used as a definition of a full topic name. With `prefix` pattern type, the resource name will be used only as a prefix. Default value is `literal`.
|string (one of [prefix, literal])
|====

[id='type-AclRuleClusterResource-{context}']
### `AclRuleClusterResource` schema reference

Used in: xref:type-AclRule-{context}[`AclRule`]


The `type` property is a discriminator that distinguishes the use of the type `AclRuleClusterResource` from xref:type-AclRuleTopicResource-{context}[`AclRuleTopicResource`], xref:type-AclRuleGroupResource-{context}[`AclRuleGroupResource`].
It must have the value `cluster` for the type `AclRuleClusterResource`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `cluster`.
|string
|====

[id='type-KafkaMirrorMaker-{context}']
### `KafkaMirrorMaker` schema reference


[options="header"]
|====
|Field        |Description
|spec  1.2+<.<|The specification of the mirror maker.
|xref:type-KafkaMirrorMakerSpec-{context}[`KafkaMirrorMakerSpec`]
|====

[id='type-KafkaMirrorMakerSpec-{context}']
### `KafkaMirrorMakerSpec` schema reference

Used in: xref:type-KafkaMirrorMaker-{context}[`KafkaMirrorMaker`]


[options="header"]
|====
|Field               |Description
|replicas     1.2+<.<|The number of pods in the `Deployment`.
|integer
|image        1.2+<.<|The docker image for the pods.
|string
|whitelist    1.2+<.<|List of topics which are included for mirroring. This option allows any regular expression using Java-style regular expressions.Mirroring two topics named A and B can be achieved by using the whitelist `'A\|B'`. Or, as a special case, you can mirror all topics using the whitelist '*'. Multiple regular expressions separated by commas can be specified as well.
|string
|consumer     1.2+<.<|Configuration of source cluster.
|xref:type-KafkaMirrorMakerConsumerSpec-{context}[`KafkaMirrorMakerConsumerSpec`]
|producer     1.2+<.<|Configuration of target cluster.
|xref:type-KafkaMirrorMakerProducerSpec-{context}[`KafkaMirrorMakerProducerSpec`]
|resources    1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|affinity     1.2+<.<|Pod affinity rules.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[core/v1 affinity].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#affinity-v1-core[Affinity]
|tolerations  1.2+<.<|Pod's tolerations.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[core/v1 tolerations].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#tolerations-v1-core[Toleration] array
|jvmOptions   1.2+<.<|JVM Options for pods.
|xref:type-JvmOptions-{context}[`JvmOptions`]
|logging      1.2+<.<|Logging configuration for Mirror Maker. The type depends on the value of the `logging.type` property within the given object, which must be one of [inline, external].
|xref:type-InlineLogging-{context}[`InlineLogging`], xref:type-ExternalLogging-{context}[`ExternalLogging`]
|metrics      1.2+<.<|The Prometheus JMX Exporter configuration. See {JMXExporter} for details of the structure of this configuration.
|map
|====

[id='type-KafkaMirrorMakerConsumerSpec-{context}']
### `KafkaMirrorMakerConsumerSpec` schema reference

Used in: xref:type-KafkaMirrorMakerSpec-{context}[`KafkaMirrorMakerSpec`]


[options="header"]
|====
|Field                    |Description
|numStreams        1.2+<.<|Specifies the number of consumer stream threads to create.
|integer
|groupId           1.2+<.<|A unique string that identifies the consumer group this consumer belongs to.
|string
|bootstrapServers  1.2+<.<|A list of host:port pairs to use for establishing the initial connection to the Kafka cluster.
|string
|authentication    1.2+<.<|Authentication configuration for connecting to the cluster. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaMirrorMakerAuthenticationTls-{context}[`KafkaMirrorMakerAuthenticationTls`], xref:type-KafkaMirrorMakerAuthenticationScramSha512-{context}[`KafkaMirrorMakerAuthenticationScramSha512`]
|config            1.2+<.<|The mirror maker consumer config. Properties with the following prefixes cannot be set: ssl., bootstrap.servers, group.id, sasl., security.
|map
|tls               1.2+<.<|TLS configuration for connecting to the cluster.
|xref:type-KafkaMirrorMakerTls-{context}[`KafkaMirrorMakerTls`]
|====

[id='type-KafkaMirrorMakerAuthenticationTls-{context}']
### `KafkaMirrorMakerAuthenticationTls` schema reference

Used in: xref:type-KafkaMirrorMakerConsumerSpec-{context}[`KafkaMirrorMakerConsumerSpec`], xref:type-KafkaMirrorMakerProducerSpec-{context}[`KafkaMirrorMakerProducerSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaMirrorMakerAuthenticationTls` from xref:type-KafkaMirrorMakerAuthenticationScramSha512-{context}[`KafkaMirrorMakerAuthenticationScramSha512`].
It must have the value `tls` for the type `KafkaMirrorMakerAuthenticationTls`.
[options="header"]
|====
|Field                     |Description
|certificateAndKey  1.2+<.<|Reference to the `Secret` which holds the certificate and private key pair.
|xref:type-CertAndKeySecretSource-{context}[`CertAndKeySecretSource`]
|type               1.2+<.<|Must be `tls`.
|string
|====

[id='type-KafkaMirrorMakerAuthenticationScramSha512-{context}']
### `KafkaMirrorMakerAuthenticationScramSha512` schema reference

Used in: xref:type-KafkaMirrorMakerConsumerSpec-{context}[`KafkaMirrorMakerConsumerSpec`], xref:type-KafkaMirrorMakerProducerSpec-{context}[`KafkaMirrorMakerProducerSpec`]


The `type` property is a discriminator that distinguishes the use of the type `KafkaMirrorMakerAuthenticationScramSha512` from xref:type-KafkaMirrorMakerAuthenticationTls-{context}[`KafkaMirrorMakerAuthenticationTls`].
It must have the value `scram-sha-512` for the type `KafkaMirrorMakerAuthenticationScramSha512`.
[options="header"]
|====
|Field                  |Description
|passwordSecret  1.2+<.<|Reference to the `Secret` which holds the password.
|xref:type-PasswordSecretSource-{context}[`PasswordSecretSource`]
|type            1.2+<.<|Must be `scram-sha-512`.
|string
|username        1.2+<.<|Username used for the authentication.
|string
|====

[id='type-KafkaMirrorMakerTls-{context}']
### `KafkaMirrorMakerTls` schema reference

Used in: xref:type-KafkaMirrorMakerConsumerSpec-{context}[`KafkaMirrorMakerConsumerSpec`], xref:type-KafkaMirrorMakerProducerSpec-{context}[`KafkaMirrorMakerProducerSpec`]


[options="header"]
|====
|Field                       |Description
|trustedCertificates  1.2+<.<|Trusted certificates for TLS connection.
|xref:type-CertSecretSource-{context}[`CertSecretSource`] array
|====

[id='type-KafkaMirrorMakerProducerSpec-{context}']
### `KafkaMirrorMakerProducerSpec` schema reference

Used in: xref:type-KafkaMirrorMakerSpec-{context}[`KafkaMirrorMakerSpec`]


[options="header"]
|====
|Field                    |Description
|bootstrapServers  1.2+<.<|A list of host:port pairs to use for establishing the initial connection to the Kafka cluster.
|string
|authentication    1.2+<.<|Authentication configuration for connecting to the cluster. The type depends on the value of the `authentication.type` property within the given object, which must be one of [tls, scram-sha-512].
|xref:type-KafkaMirrorMakerAuthenticationTls-{context}[`KafkaMirrorMakerAuthenticationTls`], xref:type-KafkaMirrorMakerAuthenticationScramSha512-{context}[`KafkaMirrorMakerAuthenticationScramSha512`]
|config            1.2+<.<|The mirror maker producer config. Properties with the following prefixes cannot be set: ssl., bootstrap.servers, sasl., security.
|map
|tls               1.2+<.<|TLS configuration for connecting to the cluster.
|xref:type-KafkaMirrorMakerTls-{context}[`KafkaMirrorMakerTls`]
|====

