apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: kafkas.kafka.strimzi.io labels: app: strimzi strimzi.io/crd-install: "true" spec: group: kafka.strimzi.io names: kind: Kafka listKind: KafkaList singular: kafka plural: kafkas shortNames: - k categories: - strimzi scope: Namespaced conversion: strategy: None versions: - name: v1 served: true storage: false subresources: status: {} additionalPrinterColumns: - name: Ready description: The state of the custom resource jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" type: string - name: Warnings description: Warnings related to the custom resource jsonPath: ".status.conditions[?(@.type==\"Warning\")].status" type: string - name: Kafka version description: The Kafka version used by the cluster jsonPath: .status.kafkaVersion type: string - name: Metadata version description: The Kafka metadata version used by the cluster jsonPath: .status.kafkaMetadataVersion type: string schema: openAPIV3Schema: type: object properties: apiVersion: type: string description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" kind: type: string description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" metadata: type: object spec: type: object properties: kafka: type: object properties: version: type: string metadataVersion: type: string image: type: string listeners: type: array minItems: 1 items: type: object properties: name: type: string pattern: "^[a-z0-9]{1,11}$" port: type: integer minimum: 9092 type: type: string enum: - internal - route - loadbalancer - nodeport - ingress - cluster-ip tls: type: boolean authentication: type: object properties: listenerConfig: x-kubernetes-preserve-unknown-fields: true type: object sasl: type: boolean type: type: string enum: - tls - scram-sha-512 - custom required: - type configuration: type: object properties: brokerCertChainAndKey: type: object properties: secretName: type: string certificate: type: string key: type: string required: - secretName - certificate - key class: type: string externalTrafficPolicy: type: string enum: - Local - Cluster loadBalancerSourceRanges: type: array items: type: string bootstrap: type: object properties: alternativeNames: type: array items: type: string host: type: string nodePort: type: integer loadBalancerIP: type: string annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object externalIPs: type: array items: type: string brokers: type: array items: type: object properties: broker: type: integer advertisedHost: type: string advertisedPort: type: integer host: type: string nodePort: type: integer loadBalancerIP: type: string annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object externalIPs: type: array items: type: string required: - broker ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 createBootstrapService: type: boolean finalizers: type: array items: type: string useServiceDnsDomain: type: boolean maxConnections: type: integer maxConnectionCreationRate: type: integer preferredNodePortAddressType: type: string enum: - ExternalIP - ExternalDNS - InternalIP - InternalDNS - Hostname publishNotReadyAddresses: type: boolean hostTemplate: type: string advertisedHostTemplate: type: string allocateLoadBalancerNodePorts: type: boolean networkPolicyPeers: type: array items: type: object properties: ipBlock: type: object properties: cidr: type: string except: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object podSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object required: - name - port - type - tls config: x-kubernetes-preserve-unknown-fields: true type: object authorization: type: object properties: authorizerClass: type: string superUsers: type: array items: type: string supportsAdminApi: type: boolean type: type: string enum: - simple - custom required: - type rack: type: object properties: topologyKey: type: string example: topology.kubernetes.io/zone required: - topologyKey brokerRackInitImage: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string jmxOptions: type: object properties: authentication: type: object properties: type: type: string enum: - password required: - type metricsConfig: type: object properties: type: type: string enum: - jmxPrometheusExporter - strimziMetricsReporter valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean values: type: object properties: allowList: type: array items: type: string required: - type x-kubernetes-validations: - rule: self.type != 'jmxPrometheusExporter' || has(self.valueFrom) message: valueFrom property is required logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type template: type: object properties: pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean bootstrapService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 brokersService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 externalBootstrapService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object perPodService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object externalBootstrapRoute: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object perPodRoute: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object externalBootstrapIngress: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object perPodIngress: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object persistentVolumeClaim: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 kafkaContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string initContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string clusterCaCert: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object jmxSecret: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object clusterRoleBinding: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podSet: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object tieredStorage: type: object properties: remoteStorageManager: type: object properties: className: type: string classPath: type: string config: additionalProperties: type: string type: object type: type: string enum: - custom required: - type quotas: type: object properties: consumerByteRate: type: integer minimum: 0 controllerMutationRate: type: number minimum: 0 excludedPrincipals: type: array items: type: string minAvailableBytesPerVolume: type: integer minimum: 0 minAvailableRatioPerVolume: type: number minimum: 0 maximum: 1 producerByteRate: type: integer minimum: 0 requestPercentage: type: integer minimum: 0 type: type: string enum: - kafka - strimzi required: - type required: - listeners entityOperator: type: object properties: topicOperator: type: object properties: watchedNamespace: type: string image: type: string reconciliationIntervalMs: type: integer minimum: 0 startupProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string userOperator: type: object properties: watchedNamespace: type: string image: type: string reconciliationIntervalMs: type: integer minimum: 0 secretPrefix: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object deploymentStrategy: type: string enum: - RollingUpdate - Recreate pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean topicOperatorContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string userOperatorContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 entityOperatorRole: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object topicOperatorRoleBinding: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object userOperatorRoleBinding: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object clusterCa: type: object properties: generateCertificateAuthority: type: boolean generateSecretOwnerReference: type: boolean validityDays: type: integer minimum: 1 renewalDays: type: integer minimum: 1 certificateExpirationPolicy: type: string enum: - renew-certificate - replace-key clientsCa: type: object properties: generateCertificateAuthority: type: boolean generateSecretOwnerReference: type: boolean validityDays: type: integer minimum: 1 renewalDays: type: integer minimum: 1 certificateExpirationPolicy: type: string enum: - renew-certificate - replace-key cruiseControl: type: object properties: image: type: string resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object deploymentStrategy: type: string enum: - RollingUpdate - Recreate pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean apiService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 cruiseControlContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object brokerCapacity: type: object properties: cpu: type: string pattern: "^[0-9]+([.][0-9]{0,3}|[m]?)$" inboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" outboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" overrides: type: array items: type: object properties: brokers: type: array items: type: integer cpu: type: string pattern: "^[0-9]+([.][0-9]{0,3}|[m]?)$" inboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" outboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" required: - brokers config: x-kubernetes-preserve-unknown-fields: true type: object metricsConfig: type: object properties: type: type: string enum: - jmxPrometheusExporter - strimziMetricsReporter valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean values: type: object properties: allowList: type: array items: type: string required: - type x-kubernetes-validations: - rule: self.type != 'jmxPrometheusExporter' || has(self.valueFrom) message: valueFrom property is required - rule: self.type != 'strimziMetricsReporter' message: value type not supported apiUsers: type: object properties: type: type: string enum: - hashLoginService valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type - valueFrom autoRebalance: type: array minItems: 1 items: type: object properties: mode: type: string enum: - add-brokers - remove-brokers template: type: object properties: name: type: string required: - mode kafkaExporter: type: object properties: image: type: string groupRegex: type: string topicRegex: type: string groupExcludeRegex: type: string topicExcludeRegex: type: string resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object logging: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 enableSaramaLogging: type: boolean showAllOffsets: type: boolean template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object deploymentStrategy: type: string enum: - RollingUpdate - Recreate pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean container: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 maintenanceTimeWindows: type: array items: type: string required: - kafka status: type: object properties: conditions: type: array items: type: object properties: type: type: string status: type: string lastTransitionTime: type: string reason: type: string message: type: string observedGeneration: type: integer listeners: type: array items: type: object properties: name: type: string addresses: type: array items: type: object properties: host: type: string port: type: integer bootstrapServers: type: string certificates: type: array items: type: string kafkaNodePools: type: array items: type: object properties: name: type: string clusterId: type: string operatorLastSuccessfulVersion: type: string kafkaVersion: type: string kafkaMetadataVersion: type: string autoRebalance: type: object properties: state: type: string enum: - Idle - RebalanceOnScaleDown - RebalanceOnScaleUp lastTransitionTime: type: string modes: type: array items: type: object properties: mode: type: string enum: - add-brokers - remove-brokers brokers: type: array items: type: integer required: - spec - name: v1beta2 served: true storage: true deprecated: true deprecationWarning: Version v1beta2 of the Kafka API is deprecated. Please use the v1 version instead. subresources: status: {} additionalPrinterColumns: - name: Ready description: The state of the custom resource jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" type: string - name: Warnings description: Warnings related to the custom resource jsonPath: ".status.conditions[?(@.type==\"Warning\")].status" type: string - name: Kafka version description: The Kafka version used by the cluster jsonPath: .status.kafkaVersion type: string - name: Metadata version description: The Kafka metadata version used by the cluster jsonPath: .status.kafkaMetadataVersion type: string schema: openAPIV3Schema: type: object properties: apiVersion: type: string description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" kind: type: string description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" metadata: type: object spec: type: object properties: kafka: type: object properties: version: type: string metadataVersion: type: string replicas: type: integer minimum: 1 image: type: string listeners: type: array minItems: 1 items: type: object properties: name: type: string pattern: "^[a-z0-9]{1,11}$" port: type: integer minimum: 9092 type: type: string enum: - internal - route - loadbalancer - nodeport - ingress - cluster-ip tls: type: boolean authentication: type: object properties: accessTokenIsJwt: type: boolean checkAccessTokenType: type: boolean checkAudience: type: boolean checkIssuer: type: boolean clientAudience: type: string clientGrantType: type: string clientId: type: string clientScope: type: string clientSecret: type: object properties: key: type: string secretName: type: string required: - key - secretName connectTimeoutSeconds: type: integer customClaimCheck: type: string disableTlsHostnameVerification: type: boolean enableECDSA: type: boolean enableMetrics: type: boolean enableOauthBearer: type: boolean enablePlain: type: boolean failFast: type: boolean fallbackUserNameClaim: type: string fallbackUserNamePrefix: type: string groupsClaim: type: string groupsClaimDelimiter: type: string httpRetries: type: integer httpRetryPauseMs: type: integer includeAcceptHeader: type: boolean introspectionEndpointUri: type: string jwksEndpointUri: type: string jwksExpirySeconds: type: integer minimum: 1 jwksIgnoreKeyUse: type: boolean jwksMinRefreshPauseSeconds: type: integer minimum: 0 jwksRefreshSeconds: type: integer minimum: 1 listenerConfig: x-kubernetes-preserve-unknown-fields: true type: object maxSecondsWithoutReauthentication: type: integer readTimeoutSeconds: type: integer sasl: type: boolean secrets: type: array items: type: object properties: key: type: string secretName: type: string required: - key - secretName serverBearerTokenLocation: type: string tlsTrustedCertificates: type: array items: type: object properties: secretName: type: string certificate: type: string pattern: type: string oneOf: - properties: certificate: {} required: - certificate - properties: pattern: {} required: - pattern required: - secretName tokenEndpointUri: type: string type: type: string enum: - tls - scram-sha-512 - oauth - custom userInfoEndpointUri: type: string userNameClaim: type: string userNamePrefix: type: string validIssuerUri: type: string validTokenType: type: string required: - type configuration: type: object properties: brokerCertChainAndKey: type: object properties: secretName: type: string certificate: type: string key: type: string required: - secretName - certificate - key class: type: string externalTrafficPolicy: type: string enum: - Local - Cluster loadBalancerSourceRanges: type: array items: type: string bootstrap: type: object properties: alternativeNames: type: array items: type: string host: type: string nodePort: type: integer loadBalancerIP: type: string annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object externalIPs: type: array items: type: string brokers: type: array items: type: object properties: broker: type: integer advertisedHost: type: string advertisedPort: type: integer host: type: string nodePort: type: integer loadBalancerIP: type: string annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object externalIPs: type: array items: type: string required: - broker ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 createBootstrapService: type: boolean finalizers: type: array items: type: string useServiceDnsDomain: type: boolean maxConnections: type: integer maxConnectionCreationRate: type: integer preferredNodePortAddressType: type: string enum: - ExternalIP - ExternalDNS - InternalIP - InternalDNS - Hostname publishNotReadyAddresses: type: boolean hostTemplate: type: string advertisedHostTemplate: type: string allocateLoadBalancerNodePorts: type: boolean networkPolicyPeers: type: array items: type: object properties: ipBlock: type: object properties: cidr: type: string except: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object podSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object required: - name - port - type - tls config: x-kubernetes-preserve-unknown-fields: true type: object storage: type: object properties: class: type: string deleteClaim: type: boolean id: type: integer minimum: 0 kraftMetadata: type: string enum: - shared overrides: type: array items: type: object properties: class: type: string broker: type: integer selector: additionalProperties: type: string type: object size: type: string sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" type: type: string enum: - ephemeral - persistent-claim - jbod volumeAttributesClass: type: string volumes: type: array items: type: object properties: class: type: string deleteClaim: type: boolean id: type: integer minimum: 0 kraftMetadata: type: string enum: - shared overrides: type: array items: type: object properties: class: type: string broker: type: integer selector: additionalProperties: type: string type: object size: type: string sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" type: type: string enum: - ephemeral - persistent-claim volumeAttributesClass: type: string required: - type required: - type authorization: type: object properties: allowOnError: type: boolean authorizerClass: type: string clientId: type: string connectTimeoutSeconds: type: integer minimum: 1 delegateToKafkaAcls: type: boolean disableTlsHostnameVerification: type: boolean enableMetrics: type: boolean expireAfterMs: type: integer grantsAlwaysLatest: type: boolean grantsGcPeriodSeconds: type: integer minimum: 1 grantsMaxIdleTimeSeconds: type: integer minimum: 1 grantsRefreshPeriodSeconds: type: integer minimum: 0 grantsRefreshPoolSize: type: integer minimum: 1 httpRetries: type: integer minimum: 0 includeAcceptHeader: type: boolean initialCacheCapacity: type: integer maximumCacheSize: type: integer readTimeoutSeconds: type: integer minimum: 1 superUsers: type: array items: type: string supportsAdminApi: type: boolean tlsTrustedCertificates: type: array items: type: object properties: secretName: type: string certificate: type: string pattern: type: string oneOf: - properties: certificate: {} required: - certificate - properties: pattern: {} required: - pattern required: - secretName tokenEndpointUri: type: string type: type: string enum: - simple - opa - keycloak - custom url: type: string example: http://opa:8181/v1/data/kafka/authz/allow required: - type rack: type: object properties: topologyKey: type: string example: topology.kubernetes.io/zone required: - topologyKey brokerRackInitImage: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string jmxOptions: type: object properties: authentication: type: object properties: type: type: string enum: - password required: - type resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object metricsConfig: type: object properties: type: type: string enum: - jmxPrometheusExporter - strimziMetricsReporter valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean values: type: object properties: allowList: type: array items: type: string required: - type x-kubernetes-validations: - rule: self.type != 'jmxPrometheusExporter' || has(self.valueFrom) message: valueFrom property is required logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type template: type: object properties: statefulset: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podManagementPolicy: type: string enum: - OrderedReady - Parallel pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean bootstrapService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 brokersService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 externalBootstrapService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object perPodService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object externalBootstrapRoute: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object perPodRoute: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object externalBootstrapIngress: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object perPodIngress: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object persistentVolumeClaim: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 kafkaContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string initContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string clusterCaCert: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object jmxSecret: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object clusterRoleBinding: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podSet: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object tieredStorage: type: object properties: remoteStorageManager: type: object properties: className: type: string classPath: type: string config: additionalProperties: type: string type: object type: type: string enum: - custom required: - type quotas: type: object properties: consumerByteRate: type: integer minimum: 0 controllerMutationRate: type: number minimum: 0 excludedPrincipals: type: array items: type: string minAvailableBytesPerVolume: type: integer minimum: 0 minAvailableRatioPerVolume: type: number minimum: 0 maximum: 1 producerByteRate: type: integer minimum: 0 requestPercentage: type: integer minimum: 0 type: type: string enum: - kafka - strimzi required: - type required: - listeners zookeeper: type: object properties: replicas: type: integer minimum: 1 image: type: string storage: type: object properties: class: type: string deleteClaim: type: boolean id: type: integer minimum: 0 kraftMetadata: type: string enum: - shared overrides: type: array items: type: object properties: class: type: string broker: type: integer selector: additionalProperties: type: string type: object size: type: string sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" type: type: string enum: - ephemeral - persistent-claim volumeAttributesClass: type: string required: - type config: x-kubernetes-preserve-unknown-fields: true type: object livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string jmxOptions: type: object properties: authentication: type: object properties: type: type: string enum: - password required: - type resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object metricsConfig: type: object properties: type: type: string enum: - jmxPrometheusExporter - strimziMetricsReporter valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean values: type: object properties: allowList: type: array items: type: string required: - type x-kubernetes-validations: - rule: self.type != 'jmxPrometheusExporter' || has(self.valueFrom) message: valueFrom property is required logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type template: type: object properties: statefulset: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podManagementPolicy: type: string enum: - OrderedReady - Parallel podSet: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean clientService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 nodesService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 persistentVolumeClaim: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 zookeeperContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object jmxSecret: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object required: - replicas - storage entityOperator: type: object properties: topicOperator: type: object properties: watchedNamespace: type: string image: type: string reconciliationIntervalSeconds: type: integer minimum: 0 reconciliationIntervalMs: type: integer minimum: 0 zookeeperSessionTimeoutSeconds: type: integer minimum: 0 startupProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object topicMetadataMaxAttempts: type: integer minimum: 0 logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string userOperator: type: object properties: watchedNamespace: type: string image: type: string reconciliationIntervalSeconds: type: integer minimum: 0 reconciliationIntervalMs: type: integer minimum: 0 zookeeperSessionTimeoutSeconds: type: integer minimum: 0 secretPrefix: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string tlsSidecar: type: object properties: image: type: string resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 logLevel: type: string enum: - emerg - alert - crit - err - warning - notice - info - debug template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object deploymentStrategy: type: string enum: - RollingUpdate - Recreate pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean topicOperatorContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string userOperatorContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string tlsSidecarContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 entityOperatorRole: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object topicOperatorRoleBinding: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object userOperatorRoleBinding: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object clusterCa: type: object properties: generateCertificateAuthority: type: boolean generateSecretOwnerReference: type: boolean validityDays: type: integer minimum: 1 renewalDays: type: integer minimum: 1 certificateExpirationPolicy: type: string enum: - renew-certificate - replace-key clientsCa: type: object properties: generateCertificateAuthority: type: boolean generateSecretOwnerReference: type: boolean validityDays: type: integer minimum: 1 renewalDays: type: integer minimum: 1 certificateExpirationPolicy: type: string enum: - renew-certificate - replace-key cruiseControl: type: object properties: image: type: string tlsSidecar: type: object properties: image: type: string resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 logLevel: type: string enum: - emerg - alert - crit - err - warning - notice - info - debug resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 jvmOptions: type: object properties: "-XX": additionalProperties: type: string type: object "-Xmx": type: string pattern: "^[0-9]+[mMgG]?$" "-Xms": type: string pattern: "^[0-9]+[mMgG]?$" gcLoggingEnabled: type: boolean javaSystemProperties: type: array items: type: object properties: name: type: string value: type: string logging: type: object properties: loggers: additionalProperties: type: string type: object type: type: string enum: - inline - external valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object deploymentStrategy: type: string enum: - RollingUpdate - Recreate pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean apiService: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object ipFamilyPolicy: type: string enum: - SingleStack - PreferDualStack - RequireDualStack ipFamilies: type: array items: type: string enum: - IPv4 - IPv6 podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 cruiseControlContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string tlsSidecarContainer: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object brokerCapacity: type: object properties: disk: type: string pattern: "^[0-9]+([.][0-9]*)?([KMGTPE]i?|e[0-9]+)?$" cpuUtilization: type: integer minimum: 0 maximum: 100 cpu: type: string pattern: "^[0-9]+([.][0-9]{0,3}|[m]?)$" inboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" outboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" overrides: type: array items: type: object properties: brokers: type: array items: type: integer cpu: type: string pattern: "^[0-9]+([.][0-9]{0,3}|[m]?)$" inboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" outboundNetwork: type: string pattern: "^[0-9]+([KMG]i?)?B/s$" required: - brokers config: x-kubernetes-preserve-unknown-fields: true type: object metricsConfig: type: object properties: type: type: string enum: - jmxPrometheusExporter - strimziMetricsReporter valueFrom: type: object properties: configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean values: type: object properties: allowList: type: array items: type: string required: - type x-kubernetes-validations: - rule: self.type != 'jmxPrometheusExporter' || has(self.valueFrom) message: valueFrom property is required - rule: self.type != 'strimziMetricsReporter' message: value type not supported apiUsers: type: object properties: type: type: string enum: - hashLoginService valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean required: - type - valueFrom autoRebalance: type: array minItems: 1 items: type: object properties: mode: type: string enum: - add-brokers - remove-brokers template: type: object properties: name: type: string required: - mode jmxTrans: type: object properties: image: type: string outputDefinitions: type: array items: type: object properties: outputType: type: string host: type: string port: type: integer flushDelayInSeconds: type: integer typeNames: type: array items: type: string name: type: string required: - outputType - name logLevel: type: string kafkaQueries: type: array items: type: object properties: targetMBean: type: string attributes: type: array items: type: string outputs: type: array items: type: string required: - targetMBean - attributes - outputs resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object deploymentStrategy: type: string enum: - RollingUpdate - Recreate pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean container: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object required: - outputDefinitions - kafkaQueries kafkaExporter: type: object properties: image: type: string groupRegex: type: string topicRegex: type: string groupExcludeRegex: type: string topicExcludeRegex: type: string resources: type: object properties: claims: type: array items: type: object properties: name: type: string request: type: string limits: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: object logging: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 1 periodSeconds: type: integer minimum: 1 successThreshold: type: integer minimum: 1 failureThreshold: type: integer minimum: 1 enableSaramaLogging: type: boolean showAllOffsets: type: boolean template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object deploymentStrategy: type: string enum: - RollingUpdate - Recreate pod: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: appArmorProfile: type: object properties: localhostProfile: type: string type: type: string fsGroup: type: integer fsGroupChangePolicy: type: string runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxChangePolicy: type: string seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string supplementalGroups: type: array items: type: integer supplementalGroupsPolicy: type: string sysctls: type: array items: type: object properties: name: type: string value: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string terminationGracePeriodSeconds: type: integer minimum: 0 affinity: type: object properties: nodeAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: preference: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: object properties: nodeSelectorTerms: type: array items: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchFields: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string podAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string podAntiAffinity: type: object properties: preferredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: podAffinityTerm: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string weight: type: integer requiredDuringSchedulingIgnoredDuringExecution: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string mismatchLabelKeys: type: array items: type: string namespaceSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object namespaces: type: array items: type: string topologyKey: type: string tolerations: type: array items: type: object properties: effect: type: string key: type: string operator: type: string tolerationSeconds: type: integer value: type: string topologySpreadConstraints: type: array items: type: object properties: labelSelector: type: object properties: matchExpressions: type: array items: type: object properties: key: type: string operator: type: string values: type: array items: type: string matchLabels: additionalProperties: type: string type: object matchLabelKeys: type: array items: type: string maxSkew: type: integer minDomains: type: integer nodeAffinityPolicy: type: string nodeTaintsPolicy: type: string topologyKey: type: string whenUnsatisfiable: type: string priorityClassName: type: string schedulerName: type: string hostAliases: type: array items: type: object properties: hostnames: type: array items: type: string ip: type: string dnsPolicy: type: string enum: - ClusterFirst - ClusterFirstWithHostNet - Default - None dnsConfig: type: object properties: nameservers: type: array items: type: string options: type: array items: type: object properties: name: type: string value: type: string searches: type: array items: type: string enableServiceLinks: type: boolean tmpDirSizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" volumes: type: array items: type: object properties: name: type: string secret: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string optional: type: boolean secretName: type: string configMap: type: object properties: defaultMode: type: integer items: type: array items: type: object properties: key: type: string mode: type: integer path: type: string name: type: string optional: type: boolean emptyDir: type: object properties: medium: type: string enum: - Memory sizeLimit: type: string pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" persistentVolumeClaim: type: object properties: claimName: type: string readOnly: type: boolean csi: type: object properties: driver: type: string fsType: type: string nodePublishSecretRef: type: object properties: name: type: string readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object image: type: object properties: pullPolicy: type: string reference: type: string oneOf: - properties: secret: {} configMap: {} emptyDir: {} persistentVolumeClaim: {} csi: {} image: {} hostUsers: type: boolean service: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object container: type: object properties: env: type: array items: type: object properties: name: type: string value: type: string valueFrom: type: object properties: secretKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean configMapKeyRef: type: object properties: key: type: string name: type: string optional: type: boolean oneOf: - properties: secretKeyRef: {} required: - secretKeyRef - properties: configMapKeyRef: {} required: - configMapKeyRef oneOf: - properties: value: {} required: - value - properties: valueFrom: {} required: - valueFrom securityContext: type: object properties: allowPrivilegeEscalation: type: boolean appArmorProfile: type: object properties: localhostProfile: type: string type: type: string capabilities: type: object properties: add: type: array items: type: string drop: type: array items: type: string privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: type: integer runAsNonRoot: type: boolean runAsUser: type: integer seLinuxOptions: type: object properties: level: type: string role: type: string type: type: string user: type: string seccompProfile: type: object properties: localhostProfile: type: string type: type: string windowsOptions: type: object properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string hostProcess: type: boolean runAsUserName: type: string volumeMounts: type: array items: type: object properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string serviceAccount: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: additionalProperties: type: string type: object annotations: additionalProperties: type: string type: object maxUnavailable: type: integer minimum: 0 maintenanceTimeWindows: type: array items: type: string required: - kafka status: type: object properties: conditions: type: array items: type: object properties: type: type: string status: type: string lastTransitionTime: type: string reason: type: string message: type: string observedGeneration: type: integer listeners: type: array items: type: object properties: type: type: string name: type: string addresses: type: array items: type: object properties: host: type: string port: type: integer bootstrapServers: type: string certificates: type: array items: type: string kafkaNodePools: type: array items: type: object properties: name: type: string registeredNodeIds: type: array items: type: integer clusterId: type: string operatorLastSuccessfulVersion: type: string kafkaVersion: type: string kafkaMetadataVersion: type: string kafkaMetadataState: type: string enum: - ZooKeeper - KRaftMigration - KRaftDualWriting - KRaftPostMigration - PreKRaft - KRaft autoRebalance: type: object properties: state: type: string enum: - Idle - RebalanceOnScaleDown - RebalanceOnScaleUp lastTransitionTime: type: string modes: type: array items: type: object properties: mode: type: string enum: - add-brokers - remove-brokers brokers: type: array items: type: integer