apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: kafkas.kafka.strimzi.io labels: app: '{{ template "strimzi.name" . }}' chart: '{{ template "strimzi.chart" . }}' component: kafkas.kafka.strimzi.io-crd release: '{{ .Release.Name }}' heritage: '{{ .Release.Service }}' annotations: "helm.sh/hook": crd-install "helm.sh/hook-delete-policy": "before-hook-creation" spec: group: kafka.strimzi.io version: v1alpha1 scope: Namespaced names: kind: Kafka listKind: KafkaList singular: kafka plural: kafkas shortNames: - k validation: openAPIV3Schema: properties: spec: type: object properties: kafka: 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 selector: type: object size: type: string type: type: string enum: - ephemeral - persistent-claim - jbod volumes: type: array items: type: object properties: class: type: string deleteClaim: type: boolean id: type: integer minimum: 0 selector: type: object size: type: string type: type: string enum: - ephemeral - persistent-claim required: - type required: - type listeners: type: object properties: plain: type: object properties: authentication: type: object properties: type: type: string enum: - tls - scram-sha-512 required: - type 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: 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: type: object tls: type: object properties: authentication: type: object properties: type: type: string enum: - tls - scram-sha-512 required: - type 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: 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: type: object external: type: object properties: authentication: type: object properties: type: type: string enum: - tls - scram-sha-512 required: - type 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: 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: type: object overrides: type: object properties: bootstrap: type: object properties: address: type: string nodePort: type: integer brokers: type: array items: type: object properties: broker: type: integer advertisedHost: type: string advertisedPort: type: integer nodePort: type: integer tls: type: boolean type: type: string enum: - route - loadbalancer - nodeport required: - type authorization: type: object properties: superUsers: type: array items: type: string type: type: string enum: - simple required: - type config: type: object rack: type: object properties: topologyKey: type: string example: failure-domain.beta.kubernetes.io/zone required: - topologyKey brokerRackInitImage: type: string 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: 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: 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: 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: 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 livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 jvmOptions: type: object properties: -XX: type: object -Xms: type: string pattern: '[0-9]+[mMgG]?' -Xmx: type: string pattern: '[0-9]+[mMgG]?' gcLoggingEnabled: type: boolean resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' metrics: type: object logging: type: object properties: loggers: type: object name: type: string type: type: string enum: - inline - external required: - type tlsSidecar: type: object properties: image: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 logLevel: type: string enum: - emerg - alert - crit - err - warning - notice - info - debug readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' template: type: object properties: statefulset: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object pod: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: fsGroup: type: integer 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 supplementalGroups: type: array items: type: integer sysctls: type: array items: type: object properties: name: type: string value: type: string terminationGracePeriodSeconds: type: integer minimum: 0 bootstrapService: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object brokersService: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object externalBootstrapRoute: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object externalBootstrapService: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object perPodRoute: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object perPodService: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object maxUnavailable: type: integer minimum: 0 version: type: string required: - replicas - storage - 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 selector: type: object size: type: string type: type: string enum: - ephemeral - persistent-claim required: - type config: type: object 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: 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: 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: 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: 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 livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 jvmOptions: type: object properties: -XX: type: object -Xms: type: string pattern: '[0-9]+[mMgG]?' -Xmx: type: string pattern: '[0-9]+[mMgG]?' gcLoggingEnabled: type: boolean resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' metrics: type: object logging: type: object properties: loggers: type: object name: type: string type: type: string enum: - inline - external required: - type tlsSidecar: type: object properties: image: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 logLevel: type: string enum: - emerg - alert - crit - err - warning - notice - info - debug readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' template: type: object properties: statefulset: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object pod: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: fsGroup: type: integer 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 supplementalGroups: type: array items: type: integer sysctls: type: array items: type: object properties: name: type: string value: type: string terminationGracePeriodSeconds: type: integer minimum: 0 clientService: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object nodesService: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object podDisruptionBudget: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object maxUnavailable: type: integer minimum: 0 required: - replicas - storage topicOperator: type: object properties: watchedNamespace: type: string image: type: string reconciliationIntervalSeconds: type: integer minimum: 0 zookeeperSessionTimeoutSeconds: 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: 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: 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: 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: type: object namespaces: type: array items: type: string topologyKey: type: string resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' topicMetadataMaxAttempts: type: integer minimum: 0 tlsSidecar: type: object properties: image: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 logLevel: type: string enum: - emerg - alert - crit - err - warning - notice - info - debug readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' logging: type: object properties: loggers: type: object name: type: string type: type: string enum: - inline - external required: - type jvmOptions: type: object properties: gcLoggingEnabled: type: boolean entityOperator: type: object properties: topicOperator: type: object properties: watchedNamespace: type: string image: type: string reconciliationIntervalSeconds: type: integer minimum: 0 zookeeperSessionTimeoutSeconds: type: integer minimum: 0 resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' topicMetadataMaxAttempts: type: integer minimum: 0 logging: type: object properties: loggers: type: object name: type: string type: type: string enum: - inline - external required: - type jvmOptions: type: object properties: gcLoggingEnabled: type: boolean userOperator: type: object properties: watchedNamespace: type: string image: type: string reconciliationIntervalSeconds: type: integer minimum: 0 zookeeperSessionTimeoutSeconds: type: integer minimum: 0 resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' logging: type: object properties: loggers: type: object name: type: string type: type: string enum: - inline - external required: - type jvmOptions: type: object properties: gcLoggingEnabled: type: boolean 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: 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: 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: 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: 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 tlsSidecar: type: object properties: image: type: string livenessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 logLevel: type: string enum: - emerg - alert - crit - err - warning - notice - info - debug readinessProbe: type: object properties: initialDelaySeconds: type: integer minimum: 0 timeoutSeconds: type: integer minimum: 0 resources: type: object properties: limits: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' requests: type: object properties: cpu: type: string pattern: '[0-9]+m?$' memory: type: string pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' template: type: object properties: deployment: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object pod: type: object properties: metadata: type: object properties: labels: type: object annotations: type: object imagePullSecrets: type: array items: type: object properties: name: type: string securityContext: type: object properties: fsGroup: type: integer 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 supplementalGroups: type: array items: type: integer sysctls: type: array items: type: object properties: name: type: string value: type: string terminationGracePeriodSeconds: type: integer minimum: 0 clusterCa: type: object properties: generateCertificateAuthority: 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 validityDays: type: integer minimum: 1 renewalDays: type: integer minimum: 1 certificateExpirationPolicy: type: string enum: - renew-certificate - replace-key maintenanceTimeWindows: type: array items: type: string required: - kafka - zookeeper