// 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`]
|entityOperator          1.2+<.<|Configuration of the Entity Operator.
|xref:type-EntityOperatorSpec-{context}[`EntityOperatorSpec`]
|clusterCa               1.2+<.<|Configuration of the cluster certificate authority.
|xref:type-CertificateAuthority-{context}[`CertificateAuthority`]
|clientsCa               1.2+<.<|Configuration of the clients certificate authority.
|xref:type-CertificateAuthority-{context}[`CertificateAuthority`]
|maintenanceTimeWindows  1.2+<.<|A list of time windows for the maintenance tasks (that is, certificates renewal). Each time window is defined by a cron expression.
|string array
|====

[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. The default value depends on the configured `Kafka.spec.kafka.version`.
|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, jbod].
|xref:type-EphemeralStorage-{context}[`EphemeralStorage`], xref:type-PersistentClaimStorage-{context}[`PersistentClaimStorage`], xref:type-JbodStorage-{context}[`JbodStorage`]
|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`]
|template             1.2+<.<|Template for Kafka cluster resources. The template allows users to specify how are the `StatefulSet`, `Pods` and `Services` generated.
|xref:type-KafkaClusterTemplate-{context}[`KafkaClusterTemplate`]
|version              1.2+<.<|The kafka broker version. Defaults to {DefaultKafkaVersion}. Consult the user documentation to understand the process required to upgrade or downgrade the version.
|string
|====

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

Used in: xref:type-JbodStorage-{context}[`JbodStorage`], 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
|id    1.2+<.<|Storage identification number. It is mandatory only for storage volumes defined in a storage of type 'jbod'.
|integer
|type  1.2+<.<|Must be `ephemeral`.
|string
|====

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

Used in: xref:type-JbodStorage-{context}[`JbodStorage`], 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 key:value pairs 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           1.2+<.<|Storage identification number. It is mandatory only for storage volumes defined in a storage of type 'jbod'.
|integer
|====

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

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


The `type` property is a discriminator that distinguishes the use of the type `JbodStorage` from xref:type-EphemeralStorage-{context}[`EphemeralStorage`], xref:type-PersistentClaimStorage-{context}[`PersistentClaimStorage`].
It must have the value `jbod` for the type `JbodStorage`.
[options="header"]
|====
|Field           |Description
|type     1.2+<.<|Must be `jbod`.
|string
|volumes  1.2+<.<|List of volumes as Storage objects representing the JBOD disks array.
|xref:type-EphemeralStorage-{context}[`EphemeralStorage`], xref:type-PersistentClaimStorage-{context}[`PersistentClaimStorage`] array
|====

[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`]
|networkPolicyPeers  1.2+<.<|List of peers which should be able to connect to this listener. Peers in this list are combined using a logical OR operation. If this field is empty or missing, all connections will be allowed for this listener. If this field is present and contains at least one item, the listener only allows the traffic which matches at least one item in this list.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[networking/v1 networkpolicypeer].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[NetworkPolicyPeer] array
|====

[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`]
|networkPolicyPeers  1.2+<.<|List of peers which should be able to connect to this listener. Peers in this list are combined using a logical OR operation. If this field is empty or missing, all connections will be allowed for this listener. If this field is present and contains at least one item, the listener only allows the traffic which matches at least one item in this list.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[networking/v1 networkpolicypeer].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[NetworkPolicyPeer] array
|====

[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`]
|networkPolicyPeers  1.2+<.<|List of peers which should be able to connect to this listener. Peers in this list are combined using a logical OR operation. If this field is empty or missing, all connections will be allowed for this listener. If this field is present and contains at least one item, the listener only allows the traffic which matches at least one item in this list.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[networking/v1 networkpolicypeer].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[NetworkPolicyPeer] array
|overrides           1.2+<.<|Overrides for external bootstrap and broker services and externally advertised addresses.
|xref:type-RouteListenerOverride-{context}[`RouteListenerOverride`]
|====

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

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


[options="header"]
|====
|Field             |Description
|bootstrap  1.2+<.<|External bootstrap service configuration.
|xref:type-RouteListenerBootstrapOverride-{context}[`RouteListenerBootstrapOverride`]
|brokers    1.2+<.<|External broker services configuration.
|xref:type-RouteListenerBrokerOverride-{context}[`RouteListenerBrokerOverride`] array
|====

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

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


[options="header"]
|====
|Field           |Description
|address  1.2+<.<|Additional address name for the bootstrap service. The address will be added to the list of subject alternative names of the TLS certificates.
|string
|host     1.2+<.<|Host for the bootstrap route. This field will be used in the `spec.host` field of the OpenShift Route.
|string
|====

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

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


[options="header"]
|====
|Field                  |Description
|broker          1.2+<.<|Id of the kafka broker (broker identifier).
|integer
|advertisedHost  1.2+<.<|The host name which will be used in the brokers' `advertised.brokers`.
|string
|advertisedPort  1.2+<.<|The port number which will be used in the brokers' `advertised.brokers`.
|integer
|host            1.2+<.<|Host for the broker route. This field will be used in the `spec.host` field of the OpenShift Route.
|string
|====

[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`]
|networkPolicyPeers  1.2+<.<|List of peers which should be able to connect to this listener. Peers in this list are combined using a logical OR operation. If this field is empty or missing, all connections will be allowed for this listener. If this field is present and contains at least one item, the listener only allows the traffic which matches at least one item in this list.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[networking/v1 networkpolicypeer].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[NetworkPolicyPeer] array
|overrides           1.2+<.<|Overrides for external bootstrap and broker services and externally advertised addresses.
|xref:type-LoadBalancerListenerOverride-{context}[`LoadBalancerListenerOverride`]
|tls                 1.2+<.<|Enables TLS encryption on the listener. By default set to `true` for enabled TLS encryption.
|boolean
|====

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

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


[options="header"]
|====
|Field             |Description
|bootstrap  1.2+<.<|External bootstrap service configuration.
|xref:type-LoadBalancerListenerBootstrapOverride-{context}[`LoadBalancerListenerBootstrapOverride`]
|brokers    1.2+<.<|External broker services configuration.
|xref:type-LoadBalancerListenerBrokerOverride-{context}[`LoadBalancerListenerBrokerOverride`] array
|====

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

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


[options="header"]
|====
|Field           |Description
|address  1.2+<.<|Additional address name for the bootstrap service. The address will be added to the list of subject alternative names of the TLS certificates.
|string
|====

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

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


[options="header"]
|====
|Field                  |Description
|broker          1.2+<.<|Id of the kafka broker (broker identifier).
|integer
|advertisedHost  1.2+<.<|The host name which will be used in the brokers' `advertised.brokers`.
|string
|advertisedPort  1.2+<.<|The port number which will be used in the brokers' `advertised.brokers`.
|integer
|====

[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`]
|networkPolicyPeers  1.2+<.<|List of peers which should be able to connect to this listener. Peers in this list are combined using a logical OR operation. If this field is empty or missing, all connections will be allowed for this listener. If this field is present and contains at least one item, the listener only allows the traffic which matches at least one item in this list.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[networking/v1 networkpolicypeer].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#networkpolicypeer-v1-networking[NetworkPolicyPeer] array
|overrides           1.2+<.<|Overrides for external bootstrap and broker services and externally advertised addresses.
|xref:type-NodePortListenerOverride-{context}[`NodePortListenerOverride`]
|tls                 1.2+<.<|Enables TLS encryption on the listener. By default set to `true` for enabled TLS encryption.
|boolean
|====

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

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


[options="header"]
|====
|Field             |Description
|bootstrap  1.2+<.<|External bootstrap service configuration.
|xref:type-NodePortListenerBootstrapOverride-{context}[`NodePortListenerBootstrapOverride`]
|brokers    1.2+<.<|External broker services configuration.
|xref:type-NodePortListenerBrokerOverride-{context}[`NodePortListenerBrokerOverride`] array
|====

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

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


[options="header"]
|====
|Field            |Description
|address   1.2+<.<|Additional address name for the bootstrap service. The address will be added to the list of subject alternative names of the TLS certificates.
|string
|nodePort  1.2+<.<|Node port for the bootstrap service.
|integer
|====

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

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


[options="header"]
|====
|Field                  |Description
|broker          1.2+<.<|Id of the kafka broker (broker identifier).
|integer
|advertisedHost  1.2+<.<|The host name which will be used in the brokers' `advertised.brokers`.
|string
|advertisedPort  1.2+<.<|The port number which will be used in the brokers' `advertised.brokers`.
|integer
|nodePort        1.2+<.<|Node port for the broker service.
|integer
|====

[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-TlsSidecar-{context}[`TlsSidecar`], 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
|gcLoggingEnabled  1.2+<.<|Specifies whether the Garbage Collection logging is enabled. The default is true.
|boolean
|====

[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
|livenessProbe   1.2+<.<|Pod liveness checking.
|xref:type-Probe-{context}[`Probe`]
|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])
|readinessProbe  1.2+<.<|Pod readiness checking.
|xref:type-Probe-{context}[`Probe`]
|resources       1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|====

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

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


[options="header"]
|====
|Field                            |Description
|statefulset               1.2+<.<|Template for Kafka `StatefulSet`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|pod                       1.2+<.<|Template for Kafka `Pods`.
|xref:type-PodTemplate-{context}[`PodTemplate`]
|bootstrapService          1.2+<.<|Template for Kafka bootstrap `Service`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|brokersService            1.2+<.<|Template for Kafka broker `Service`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|externalBootstrapRoute    1.2+<.<|Template for Kafka external bootstrap `Route`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|externalBootstrapService  1.2+<.<|Template for Kafka external bootstrap `Service`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|perPodRoute               1.2+<.<|Template for Kafka per-pod `Routes` used for access from outside of OpenShift.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|perPodService             1.2+<.<|Template for Kafka per-pod `Services` used for access from outside of Kubernetes.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|podDisruptionBudget       1.2+<.<|Template for Kafka `PodDisruptionBudget`.
|xref:type-PodDisruptionBudgetTemplate-{context}[`PodDisruptionBudgetTemplate`]
|====

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

Used in: xref:type-EntityOperatorTemplate-{context}[`EntityOperatorTemplate`], xref:type-KafkaClusterTemplate-{context}[`KafkaClusterTemplate`], xref:type-KafkaConnectTemplate-{context}[`KafkaConnectTemplate`], xref:type-KafkaMirrorMakerTemplate-{context}[`KafkaMirrorMakerTemplate`], xref:type-ZookeeperClusterTemplate-{context}[`ZookeeperClusterTemplate`]


[options="header"]
|====
|Field            |Description
|metadata  1.2+<.<|Metadata which should be applied to the resource.
|xref:type-MetadataTemplate-{context}[`MetadataTemplate`]
|====

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

Used in: xref:type-PodDisruptionBudgetTemplate-{context}[`PodDisruptionBudgetTemplate`], xref:type-PodTemplate-{context}[`PodTemplate`], xref:type-ResourceTemplate-{context}[`ResourceTemplate`]


[options="header"]
|====
|Field               |Description
|labels       1.2+<.<|Labels which should be added to the resource template. Can be applied to different resources such as `StatefulSets`, `Deployments`, `Pods`, and `Services`.
|map
|annotations  1.2+<.<|Annotations which should be added to the resource template. Can be applied to different resources such as `StatefulSets`, `Deployments`, `Pods`, and `Services`.
|map
|====

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

Used in: xref:type-EntityOperatorTemplate-{context}[`EntityOperatorTemplate`], xref:type-KafkaClusterTemplate-{context}[`KafkaClusterTemplate`], xref:type-KafkaConnectTemplate-{context}[`KafkaConnectTemplate`], xref:type-KafkaMirrorMakerTemplate-{context}[`KafkaMirrorMakerTemplate`], xref:type-ZookeeperClusterTemplate-{context}[`ZookeeperClusterTemplate`]


[options="header"]
|====
|Field                                 |Description
|metadata                       1.2+<.<|Metadata which should be applied to the resource.
|xref:type-MetadataTemplate-{context}[`MetadataTemplate`]
|imagePullSecrets               1.2+<.<|List of references to secrets in the same namespace to use for pulling any of the images used by this Pod.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#localobjectreference-v1-core[core/v1 localobjectreference].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#localobjectreference-v1-core[LocalObjectReference] array
|securityContext                1.2+<.<|Configures pod-level security attributes and common container settings.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#podsecuritycontext-v1-core[core/v1 podsecuritycontext].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#podsecuritycontext-v1-core[PodSecurityContext]
|terminationGracePeriodSeconds  1.2+<.<|The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process.Value must be non-negative integer. The value zero indicates delete immediately. Defaults to 30 seconds.
|integer
|====

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

Used in: xref:type-KafkaClusterTemplate-{context}[`KafkaClusterTemplate`], xref:type-KafkaConnectTemplate-{context}[`KafkaConnectTemplate`], xref:type-KafkaMirrorMakerTemplate-{context}[`KafkaMirrorMakerTemplate`], xref:type-ZookeeperClusterTemplate-{context}[`ZookeeperClusterTemplate`]


[options="header"]
|====
|Field                  |Description
|metadata        1.2+<.<|Metadata which should be applied to the `PodDistruptionBugetTemplate` resource.
|xref:type-MetadataTemplate-{context}[`MetadataTemplate`]
|maxUnavailable  1.2+<.<|Maximum number of unavailable pods to allow voluntary Pod eviction. A Pod eviction will only be allowed when "maxUnavailable" or fewer pods are unavailable after the eviction. Setting this value to 0 will prevent all voluntary evictions and the pods will need to be evicted manually. Defaults to 1.
|integer
|====

[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`]
|template        1.2+<.<|Template for Zookeeper cluster resources. The template allows users to specify how are the `StatefulSet`, `Pods` and `Services` generated.
|xref:type-ZookeeperClusterTemplate-{context}[`ZookeeperClusterTemplate`]
|====

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

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


[options="header"]
|====
|Field                       |Description
|statefulset          1.2+<.<|Template for Zookeeper `StatefulSet`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|pod                  1.2+<.<|Template for Zookeeper `Pods`.
|xref:type-PodTemplate-{context}[`PodTemplate`]
|clientService        1.2+<.<|Template for Zookeeper client `Service`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|nodesService         1.2+<.<|Template for Zookeeper nodes `Service`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|podDisruptionBudget  1.2+<.<|Template for Zookeeper `PodDisruptionBudget`.
|xref:type-PodDisruptionBudgetTemplate-{context}[`PodDisruptionBudgetTemplate`]
|====

[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`]
|jvmOptions                      1.2+<.<|JVM Options for pods.
|xref:type-EntityOperatorJvmOptions-{context}[`EntityOperatorJvmOptions`]
|====

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

Used in: xref:type-EntityTopicOperatorSpec-{context}[`EntityTopicOperatorSpec`], xref:type-EntityUserOperatorSpec-{context}[`EntityUserOperatorSpec`], xref:type-TopicOperatorSpec-{context}[`TopicOperatorSpec`]


[options="header"]
|====
|Field                    |Description
|gcLoggingEnabled  1.2+<.<|Specifies whether the Garbage Collection logging is enabled. The default is true.
|boolean
|====

[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`]
|template       1.2+<.<|Template for Entity Operator resources. The template allows users to specify how is the `Deployment` and `Pods` generated.
|xref:type-EntityOperatorTemplate-{context}[`EntityOperatorTemplate`]
|====

[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`]
|jvmOptions                      1.2+<.<|JVM Options for pods.
|xref:type-EntityOperatorJvmOptions-{context}[`EntityOperatorJvmOptions`]
|====

[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`]
|jvmOptions                      1.2+<.<|JVM Options for pods.
|xref:type-EntityOperatorJvmOptions-{context}[`EntityOperatorJvmOptions`]
|====

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

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


[options="header"]
|====
|Field              |Description
|deployment  1.2+<.<|Template for Entity Operator `Deployment`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|pod         1.2+<.<|Template for Entity Operator `Pods`.
|xref:type-PodTemplate-{context}[`PodTemplate`]
|====

[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. The 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
|certificateExpirationPolicy   1.2+<.<|How should CA certificate expiration be handled when `generateCertificateAuthority=true`. The default is for a new CA certificate to be generated reusing the existing private key.
|string (one of [replace-key, renew-certificate])
|====

[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
|template               1.2+<.<|Template for Kafka Connect and Kafka Connect S2I resources. The template allows users to specify how is the `Deployment`, `Pods` and `Service` generated.
|xref:type-KafkaConnectTemplate-{context}[`KafkaConnectTemplate`]
|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
|externalConfiguration  1.2+<.<|Pass data from Secrets or ConfigMaps to the Kafka Connect pods and use them to configure connectors.
|xref:type-ExternalConfiguration-{context}[`ExternalConfiguration`]
|resources              1.2+<.<|Resource constraints (limits and requests).
|xref:type-Resources-{context}[`Resources`]
|tls                    1.2+<.<|TLS configuration.
|xref:type-KafkaConnectTls-{context}[`KafkaConnectTls`]
|version                1.2+<.<|The Kafka Connect version. Defaults to {DefaultKafkaVersion}. Consult the user documentation to understand the process required to upgrade or downgrade the version.
|string
|====

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

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


[options="header"]
|====
|Field                       |Description
|deployment           1.2+<.<|Template for Kafka Connect `Deployment`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|pod                  1.2+<.<|Template for Kafka Connect `Pods`.
|xref:type-PodTemplate-{context}[`PodTemplate`]
|apiService           1.2+<.<|Template for Kafka Connect API `Service`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|podDisruptionBudget  1.2+<.<|Template for Kafka Connect `PodDisruptionBudget`.
|xref:type-PodDisruptionBudgetTemplate-{context}[`PodDisruptionBudgetTemplate`]
|====

[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-ExternalConfiguration-{context}']
### `ExternalConfiguration` schema reference

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


[options="header"]
|====
|Field           |Description
|env      1.2+<.<|Allows to pass data from Secret or ConfigMap to the Kafka Connect pods as environment variables.
|xref:type-ExternalConfigurationEnv-{context}[`ExternalConfigurationEnv`] array
|volumes  1.2+<.<|Allows to pass data from Secret or ConfigMap to the Kafka Connect pods as volumes.
|xref:type-ExternalConfigurationVolumeSource-{context}[`ExternalConfigurationVolumeSource`] array
|====

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

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


[options="header"]
|====
|Field             |Description
|name       1.2+<.<|Name of the environment variable which will be passed to the Kafka Connect pods. The name of the environment variable cannot start with `KAFKA_` or `STRIMZI_`.
|string
|valueFrom  1.2+<.<|Value of the environment variable which will be passed to the Kafka Connect pods. It can be passed either as a reference to Secret or ConfigMap field. The field has to specify exactly one Secret or ConfigMap.
|xref:type-ExternalConfigurationEnvVarSource-{context}[`ExternalConfigurationEnvVarSource`]
|====

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

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


[options="header"]
|====
|Field                   |Description
|configMapKeyRef  1.2+<.<|Refernce to a key in a ConfigMap.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#ConfigMapKeySelector-v1-core[core/v1 ConfigMapKeySelector].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#ConfigMapKeySelector-v1-core[ConfigMapKeySelector]
|secretKeyRef     1.2+<.<|Reference to a key in a Secret.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#SecretKeySelector-v1-core[core/v1 SecretKeySelector].


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

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

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


[options="header"]
|====
|Field             |Description
|configMap  1.2+<.<|Reference to a key in a ConfigMap. Exactly one Secret or ConfigMap has to be specified.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#ConfigMapVolumeSource-v1-core[core/v1 ConfigMapVolumeSource].


|https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#ConfigMapVolumeSource-v1-core[ConfigMapVolumeSource]
|name       1.2+<.<|Name of the volume which will be added to the Kafka Connect pods.
|string
|secret     1.2+<.<|Reference to a key in a Secret. Exactly one Secret or ConfigMap has to be specified.See external documentation of https://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#SecretVolumeSource-v1-core[core/v1 SecretVolumeSource].


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

[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]
|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
|template                  1.2+<.<|Template for Kafka Connect and Kafka Connect S2I resources. The template allows users to specify how is the `Deployment`, `Pods` and `Service` generated.
|xref:type-KafkaConnectTemplate-{context}[`KafkaConnectTemplate`]
|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
|externalConfiguration     1.2+<.<|Pass data from Secrets or ConfigMaps to the Kafka Connect pods and use them to configure connectors.
|xref:type-ExternalConfiguration-{context}[`ExternalConfiguration`]
|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
|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
|version                   1.2+<.<|The Kafka Connect version. Defaults to {DefaultKafkaVersion}. Consult the user documentation to understand the process required to upgrade or downgrade the version.
|string
|====

[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.
|integer
|replicas    1.2+<.<|The number of replicas the topic should have.
|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, transactionalId].
|xref:type-AclRuleTopicResource-{context}[`AclRuleTopicResource`], xref:type-AclRuleGroupResource-{context}[`AclRuleGroupResource`], xref:type-AclRuleClusterResource-{context}[`AclRuleClusterResource`], xref:type-AclRuleTransactionalIdResource-{context}[`AclRuleTransactionalIdResource`]
|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`], xref:type-AclRuleTransactionalIdResource-{context}[`AclRuleTransactionalIdResource`].
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`], xref:type-AclRuleTransactionalIdResource-{context}[`AclRuleTransactionalIdResource`].
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`], xref:type-AclRuleTransactionalIdResource-{context}[`AclRuleTransactionalIdResource`].
It must have the value `cluster` for the type `AclRuleClusterResource`.
[options="header"]
|====
|Field        |Description
|type  1.2+<.<|Must be `cluster`.
|string
|====

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

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


The `type` property is a discriminator that distinguishes the use of the type `AclRuleTransactionalIdResource` from xref:type-AclRuleTopicResource-{context}[`AclRuleTopicResource`], xref:type-AclRuleGroupResource-{context}[`AclRuleGroupResource`], xref:type-AclRuleClusterResource-{context}[`AclRuleClusterResource`].
It must have the value `transactionalId` for the type `AclRuleTransactionalIdResource`.
[options="header"]
|====
|Field               |Description
|type         1.2+<.<|Must be `transactionalId`.
|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 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-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
|template     1.2+<.<|Template for Kafka Mirror Maker resources. The template allows users to specify how is the `Deployment` and `Pods` generated.
|xref:type-KafkaMirrorMakerTemplate-{context}[`KafkaMirrorMakerTemplate`]
|version      1.2+<.<|The Kafka Mirror Maker version. Defaults to {DefaultKafkaVersion}. Consult the user documentation to understand the process required to upgrade or downgrade the version.
|string
|====

[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`]
|====

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

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


[options="header"]
|====
|Field                       |Description
|deployment           1.2+<.<|Template for Kafka Mirror Maker `Deployment`.
|xref:type-ResourceTemplate-{context}[`ResourceTemplate`]
|pod                  1.2+<.<|Template for Kafka Mirror Maker `Pods`.
|xref:type-PodTemplate-{context}[`PodTemplate`]
|podDisruptionBudget  1.2+<.<|Template for Kafka Mirror Maker `PodDisruptionBudget`.
|xref:type-PodDisruptionBudgetTemplate-{context}[`PodDisruptionBudgetTemplate`]
|====

