{
  "properties": {
    "apiVersion": {
      "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",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "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",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "spec": {
      "additionalProperties": false,
      "description": "The specification of the Kafka cluster.",
      "properties": {
        "clientsCa": {
          "additionalProperties": false,
          "description": "Configuration of the clients certificate authority.",
          "properties": {
            "certificateExpirationPolicy": {
              "description": "How should CA certificate expiration be handled when `generateCertificateAuthority=true`. The default is for a new CA certificate to be generated reusing the existing private key.",
              "enum": [
                "renew-certificate",
                "replace-key"
              ],
              "type": [
                "string",
                "null"
              ]
            },
            "generateCertificateAuthority": {
              "description": "If true then Certificate Authority certificates will be generated automatically. Otherwise the user will need to provide a Secret with the CA certificate. Default is true.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "generateSecretOwnerReference": {
              "description": "If `true`, the Cluster and Client CA Secrets are configured with the `ownerReference` set to the `Kafka` resource. If the `Kafka` resource is deleted when `true`, the CA Secrets are also deleted. If `false`, the `ownerReference` is disabled. If the `Kafka` resource is deleted when `false`, the CA Secrets are retained and available for reuse. Default is `true`.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "renewalDays": {
              "description": "The number of days in the certificate renewal period. This is the number of days before the a certificate expires during which renewal actions may be performed. When `generateCertificateAuthority` is true, this will cause the generation of a new certificate. When `generateCertificateAuthority` is true, this will cause extra logging at WARN level about the pending certificate expiry. Default is 30.",
              "minimum": 1,
              "type": [
                "integer",
                "null"
              ]
            },
            "validityDays": {
              "description": "The number of days generated certificates should be valid for. The default is 365.",
              "minimum": 1,
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "clusterCa": {
          "additionalProperties": false,
          "description": "Configuration of the cluster certificate authority.",
          "properties": {
            "certificateExpirationPolicy": {
              "description": "How should CA certificate expiration be handled when `generateCertificateAuthority=true`. The default is for a new CA certificate to be generated reusing the existing private key.",
              "enum": [
                "renew-certificate",
                "replace-key"
              ],
              "type": [
                "string",
                "null"
              ]
            },
            "generateCertificateAuthority": {
              "description": "If true then Certificate Authority certificates will be generated automatically. Otherwise the user will need to provide a Secret with the CA certificate. Default is true.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "generateSecretOwnerReference": {
              "description": "If `true`, the Cluster and Client CA Secrets are configured with the `ownerReference` set to the `Kafka` resource. If the `Kafka` resource is deleted when `true`, the CA Secrets are also deleted. If `false`, the `ownerReference` is disabled. If the `Kafka` resource is deleted when `false`, the CA Secrets are retained and available for reuse. Default is `true`.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "renewalDays": {
              "description": "The number of days in the certificate renewal period. This is the number of days before the a certificate expires during which renewal actions may be performed. When `generateCertificateAuthority` is true, this will cause the generation of a new certificate. When `generateCertificateAuthority` is true, this will cause extra logging at WARN level about the pending certificate expiry. Default is 30.",
              "minimum": 1,
              "type": [
                "integer",
                "null"
              ]
            },
            "validityDays": {
              "description": "The number of days generated certificates should be valid for. The default is 365.",
              "minimum": 1,
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "cruiseControl": {
          "additionalProperties": false,
          "description": "Configuration for Cruise Control deployment. Deploys a Cruise Control instance when specified.",
          "properties": {
            "apiUsers": {
              "additionalProperties": false,
              "description": "Configuration of the Cruise Control REST API users.",
              "properties": {
                "type": {
                  "description": "Type of the Cruise Control API users configuration. Supported format is: `hashLoginService`.",
                  "enum": [
                    "hashLoginService"
                  ],
                  "type": "string"
                },
                "valueFrom": {
                  "additionalProperties": false,
                  "description": "Secret from which the custom Cruise Control API authentication credentials are read.",
                  "properties": {
                    "secretKeyRef": {
                      "additionalProperties": false,
                      "description": "Selects a key of a Secret in the resource's namespace.",
                      "properties": {
                        "key": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "optional": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "type",
                "valueFrom"
              ],
              "type": [
                "object",
                "null"
              ]
            },
            "autoRebalance": {
              "description": "Auto-rebalancing on scaling related configuration listing the modes, when brokers are added or removed, with the corresponding rebalance template configurations.If this field is set, at least one mode has to be defined.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "mode": {
                    "description": "Specifies the mode for automatically rebalancing when brokers are added or removed. Supported modes are `add-brokers` and `remove-brokers`. \n",
                    "enum": [
                      "add-brokers",
                      "remove-brokers"
                    ],
                    "type": "string"
                  },
                  "template": {
                    "additionalProperties": false,
                    "description": "Reference to the KafkaRebalance custom resource to be used as the configuration template for the auto-rebalancing on scaling when running for the corresponding mode.",
                    "properties": {
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "type": [
                      "object",
                      "null"
                    ]
                  }
                },
                "required": [
                  "mode"
                ],
                "type": "object"
              },
              "minItems": 1,
              "type": [
                "array",
                "null"
              ]
            },
            "brokerCapacity": {
              "additionalProperties": false,
              "description": "The Cruise Control `brokerCapacity` configuration.",
              "properties": {
                "cpu": {
                  "description": "Broker capacity for CPU resource in cores or millicores. For example, 1, 1.500, 1500m. For more information on valid CPU resource units see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.",
                  "pattern": "^[0-9]+([.][0-9]{0,3}|[m]?)$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "inboundNetwork": {
                  "description": "Broker capacity for inbound network throughput in bytes per second. Use an integer value with standard Kubernetes byte units (K, M, G) or their bibyte (power of two) equivalents (Ki, Mi, Gi) per second. For example, 10000KiB/s.",
                  "pattern": "^[0-9]+([KMG]i?)?B/s$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "outboundNetwork": {
                  "description": "Broker capacity for outbound network throughput in bytes per second. Use an integer value with standard Kubernetes byte units (K, M, G) or their bibyte (power of two) equivalents (Ki, Mi, Gi) per second. For example, 10000KiB/s.",
                  "pattern": "^[0-9]+([KMG]i?)?B/s$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "overrides": {
                  "description": "Overrides for individual brokers. The `overrides` property lets you specify a different capacity configuration for different brokers.",
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "brokers": {
                        "description": "List of Kafka brokers (broker identifiers).",
                        "items": {
                          "type": "integer"
                        },
                        "type": "array"
                      },
                      "cpu": {
                        "description": "Broker capacity for CPU resource in cores or millicores. For example, 1, 1.500, 1500m. For more information on valid CPU resource units see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.",
                        "pattern": "^[0-9]+([.][0-9]{0,3}|[m]?)$",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "inboundNetwork": {
                        "description": "Broker capacity for inbound network throughput in bytes per second. Use an integer value with standard Kubernetes byte units (K, M, G) or their bibyte (power of two) equivalents (Ki, Mi, Gi) per second. For example, 10000KiB/s.",
                        "pattern": "^[0-9]+([KMG]i?)?B/s$",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "outboundNetwork": {
                        "description": "Broker capacity for outbound network throughput in bytes per second. Use an integer value with standard Kubernetes byte units (K, M, G) or their bibyte (power of two) equivalents (Ki, Mi, Gi) per second. For example, 10000KiB/s.",
                        "pattern": "^[0-9]+([KMG]i?)?B/s$",
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "brokers"
                    ],
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "config": {
              "description": "The Cruise Control configuration. For a full list of configuration options refer to https://github.com/linkedin/cruise-control/wiki/Configurations. Note that properties with the following prefixes cannot be set: bootstrap.servers, client.id, zookeeper., network., security., failed.brokers.zk.path,webserver.http., webserver.api.urlprefix, webserver.session.path, webserver.accesslog., two.step., request.reason.required,metric.reporter.sampler.bootstrap.servers, capacity.config.file, self.healing., ssl., kafka.broker.failure.detection.enable, topic.config.provider.class (with the exception of: ssl.cipher.suites, ssl.protocol, ssl.enabled.protocols, webserver.http.cors.enabled, webserver.http.cors.origin, webserver.http.cors.exposeheaders, webserver.security.enable, webserver.ssl.enable).",
              "type": [
                "object",
                "null"
              ],
              "x-kubernetes-preserve-unknown-fields": true
            },
            "image": {
              "description": "The container image used for Cruise Control pods. If no image name is explicitly specified, the image name corresponds to the name specified in the Cluster Operator configuration. If an image name is not defined in the Cluster Operator configuration, a default value is used.",
              "type": [
                "string",
                "null"
              ]
            },
            "jvmOptions": {
              "additionalProperties": false,
              "description": "JVM Options for the Cruise Control container.",
              "properties": {
                "-XX": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "A map of -XX options to the JVM.",
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "-Xms": {
                  "description": "-Xms option to to the JVM.",
                  "pattern": "^[0-9]+[mMgG]?$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "-Xmx": {
                  "description": "-Xmx option to to the JVM.",
                  "pattern": "^[0-9]+[mMgG]?$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "gcLoggingEnabled": {
                  "description": "Specifies whether the Garbage Collection logging is enabled. The default is false.",
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "javaSystemProperties": {
                  "description": "A map of additional system properties which will be passed using the `-D` option to the JVM.",
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "name": {
                        "description": "The system property name.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "value": {
                        "description": "The system property value.",
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "livenessProbe": {
              "additionalProperties": false,
              "description": "Pod liveness checking for the Cruise Control container.",
              "properties": {
                "failureThreshold": {
                  "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "initialDelaySeconds": {
                  "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "periodSeconds": {
                  "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "successThreshold": {
                  "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "timeoutSeconds": {
                  "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "logging": {
              "additionalProperties": false,
              "description": "Logging configuration (Log4j 2) for Cruise Control.",
              "properties": {
                "loggers": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "A Map from logger name to logger level.",
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "type": {
                  "description": "Logging type, must be either 'inline' or 'external'.",
                  "enum": [
                    "inline",
                    "external"
                  ],
                  "type": "string"
                },
                "valueFrom": {
                  "additionalProperties": false,
                  "description": "`ConfigMap` entry where the logging configuration is stored. ",
                  "properties": {
                    "configMapKeyRef": {
                      "additionalProperties": false,
                      "description": "Reference to the key in the ConfigMap containing the configuration.",
                      "properties": {
                        "key": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "optional": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "required": [
                "type"
              ],
              "type": [
                "object",
                "null"
              ]
            },
            "metricsConfig": {
              "additionalProperties": false,
              "description": "Metrics configuration. Only `jmxPrometheusExporter` can be configured, as this component does not support `strimziMetricsReporter`.",
              "properties": {
                "type": {
                  "description": "Metrics type. The supported types are `jmxPrometheusExporter` and `strimziMetricsReporter`. Type `jmxPrometheusExporter` uses the Prometheus JMX Exporter to expose Kafka JMX metrics in Prometheus format through an HTTP endpoint. Type `strimziMetricsReporter` uses the Strimzi Metrics Reporter to directly expose Kafka metrics in Prometheus format through an HTTP endpoint.",
                  "enum": [
                    "jmxPrometheusExporter",
                    "strimziMetricsReporter"
                  ],
                  "type": "string"
                },
                "valueFrom": {
                  "additionalProperties": false,
                  "description": "ConfigMap entry where the Prometheus JMX Exporter configuration is stored.",
                  "properties": {
                    "configMapKeyRef": {
                      "additionalProperties": false,
                      "description": "Reference to the key in the ConfigMap containing the configuration.",
                      "properties": {
                        "key": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "optional": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "values": {
                  "additionalProperties": false,
                  "description": "Configuration values for the Strimzi Metrics Reporter.",
                  "properties": {
                    "allowList": {
                      "description": "A list of regex patterns to filter the metrics to collect. Should contain at least one element.",
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "required": [
                "type"
              ],
              "type": [
                "object",
                "null"
              ],
              "x-kubernetes-validations": [
                {
                  "message": "valueFrom property is required",
                  "rule": "self.type != 'jmxPrometheusExporter' || has(self.valueFrom)"
                },
                {
                  "message": "value type not supported",
                  "rule": "self.type != 'strimziMetricsReporter'"
                }
              ]
            },
            "readinessProbe": {
              "additionalProperties": false,
              "description": "Pod readiness checking for the Cruise Control container.",
              "properties": {
                "failureThreshold": {
                  "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "initialDelaySeconds": {
                  "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "periodSeconds": {
                  "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "successThreshold": {
                  "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "timeoutSeconds": {
                  "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "resources": {
              "additionalProperties": false,
              "description": "CPU and memory resources to reserve for the Cruise Control container.",
              "properties": {
                "claims": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "request": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                },
                "limits": {
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "type": "string"
                      },
                      {
                        "type": "integer"
                      }
                    ],
                    "x-kubernetes-int-or-string": true
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "type": "string"
                      },
                      {
                        "type": "integer"
                      }
                    ],
                    "x-kubernetes-int-or-string": true
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "template": {
              "additionalProperties": false,
              "description": "Template to specify how Cruise Control resources, `Deployments` and `Pods`, are generated.",
              "properties": {
                "apiService": {
                  "additionalProperties": false,
                  "description": "Template for Cruise Control API `Service`.",
                  "properties": {
                    "ipFamilies": {
                      "description": "Specifies the IP Families used by the service. Available options are `IPv4` and `IPv6`. If unspecified, Kubernetes will choose the default value based on the `ipFamilyPolicy` setting.",
                      "items": {
                        "enum": [
                          "IPv4",
                          "IPv6"
                        ],
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "ipFamilyPolicy": {
                      "description": "Specifies the IP Family Policy used by the service. Available options are `SingleStack`, `PreferDualStack` and `RequireDualStack`. `SingleStack` is for a single IP family. `PreferDualStack` is for two IP families on dual-stack configured clusters or a single IP family on single-stack clusters. `RequireDualStack` fails unless there are two IP families on dual-stack configured clusters. If unspecified, Kubernetes will choose the default value based on the service type.",
                      "enum": [
                        "SingleStack",
                        "PreferDualStack",
                        "RequireDualStack"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "cruiseControlContainer": {
                  "additionalProperties": false,
                  "description": "Template for the Cruise Control container.",
                  "properties": {
                    "env": {
                      "description": "Environment variables which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "value": {}
                            },
                            "required": [
                              "value"
                            ]
                          },
                          {
                            "properties": {
                              "valueFrom": {}
                            },
                            "required": [
                              "valueFrom"
                            ]
                          }
                        ],
                        "properties": {
                          "name": {
                            "description": "The environment variable key.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The environment variable value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "valueFrom": {
                            "additionalProperties": false,
                            "description": "Reference to the secret or config map property to which the environment variable is set.",
                            "oneOf": [
                              {
                                "properties": {
                                  "secretKeyRef": {}
                                },
                                "required": [
                                  "secretKeyRef"
                                ]
                              },
                              {
                                "properties": {
                                  "configMapKeyRef": {}
                                },
                                "required": [
                                  "configMapKeyRef"
                                ]
                              }
                            ],
                            "properties": {
                              "configMapKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a config map.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "secretKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a secret.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Security context for the container.",
                      "properties": {
                        "allowPrivilegeEscalation": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "capabilities": {
                          "additionalProperties": false,
                          "properties": {
                            "add": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "drop": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "privileged": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "procMount": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "readOnlyRootFilesystem": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "volumeMounts": {
                      "description": "Additional volume mounts which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "mountPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "mountPropagation": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "readOnly": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "recursiveReadOnly": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPathExpr": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "deployment": {
                  "additionalProperties": false,
                  "description": "Template for Cruise Control `Deployment`.",
                  "properties": {
                    "deploymentStrategy": {
                      "description": "Pod replacement strategy for deployment configuration changes. Valid values are `RollingUpdate` and `Recreate`. Defaults to `RollingUpdate`.",
                      "enum": [
                        "RollingUpdate",
                        "Recreate"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "pod": {
                  "additionalProperties": false,
                  "description": "Template for Cruise Control `Pods`.",
                  "properties": {
                    "affinity": {
                      "additionalProperties": false,
                      "description": "The pod's affinity rules.",
                      "properties": {
                        "nodeAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "preference": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "additionalProperties": false,
                              "properties": {
                                "nodeSelectorTerms": {
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": [
                                    "array",
                                    "null"
                                  ]
                                }
                              },
                              "type": [
                                "object",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAntiAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsConfig": {
                      "additionalProperties": false,
                      "description": "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy.",
                      "properties": {
                        "nameservers": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "options": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "searches": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsPolicy": {
                      "description": "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`.",
                      "enum": [
                        "ClusterFirst",
                        "ClusterFirstWithHostNet",
                        "Default",
                        "None"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "enableServiceLinks": {
                      "description": "Indicates whether information about services should be injected into Pod's environment variables.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "hostAliases": {
                      "description": "The pod's HostAliases. HostAliases is an optional list of hosts and IPs that will be injected into the Pod's hosts file if specified.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "hostnames": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "ip": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "hostUsers": {
                      "description": "Use the host user namespace. Optional. Defaults to `true`. When `true` or not set, the pod runs in the host user namespace. This is required when the pod needs features available only in the host namespace, such as loading kernel modules with `CAP_SYS_MODULE`.When set to `false`, the pod runs in a new user namespace. Setting `false` helps mitigate container breakout vulnerabilities and allows containers to run as `root` without granting `root` privileges on the host. This property is alpha-level in Kubernetes and is supported only by Kubernetes clusters that enable the `UserNamespacesSupport` feature.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "imagePullSecrets": {
                      "description": "List of references to secrets in the same namespace to use for pulling any of the images used by this Pod. When the `STRIMZI_IMAGE_PULL_SECRETS` environment variable in Cluster Operator and the `imagePullSecrets` option are specified, only the `imagePullSecrets` variable is used and the `STRIMZI_IMAGE_PULL_SECRETS` variable is ignored.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "priorityClassName": {
                      "description": "The name of the priority class used to assign priority to the pods. ",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "schedulerName": {
                      "description": "The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Configures pod-level security attributes and common container settings.",
                      "properties": {
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "fsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "fsGroupChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "supplementalGroups": {
                          "items": {
                            "type": "integer"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "supplementalGroupsPolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "sysctls": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "terminationGracePeriodSeconds": {
                      "description": "The grace period is the duration in seconds after the processes running in the pod are sent a termination signal, and the time when the processes are forcibly halted with a kill signal. Set this value to longer than the expected cleanup time for your process. Value must be a non-negative integer. A zero value indicates delete immediately. You might need to increase the grace period for very large Kafka clusters, so that the Kafka brokers have enough time to transfer their work to another broker before they are terminated. Defaults to 30 seconds.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "tmpDirSizeLimit": {
                      "description": "Defines the total amount of pod memory allocated for the temporary `EmptyDir` volume `/tmp`. Specify the allocation in memory units, for example, `100Mi` for 100 mebibytes. Default value is `5Mi`. The `/tmp` volume is backed by pod memory, not disk storage, so avoid setting a high value as it consumes pod memory resources.",
                      "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tolerations": {
                      "description": "The pod's tolerations.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "effect": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "key": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "operator": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tolerationSeconds": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "value": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "topologySpreadConstraints": {
                      "description": "The pod's topology spread constraints.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "labelSelector": {
                            "additionalProperties": false,
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "operator": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": [
                                        "array",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "maxSkew": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "minDomains": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "nodeAffinityPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "nodeTaintsPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "topologyKey": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "whenUnsatisfiable": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "volumes": {
                      "description": "Additional volumes that can be mounted to the pod.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "configMap": {},
                              "csi": {},
                              "emptyDir": {},
                              "image": {},
                              "persistentVolumeClaim": {},
                              "secret": {}
                            }
                          }
                        ],
                        "properties": {
                          "configMap": {
                            "additionalProperties": false,
                            "description": "`ConfigMap` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "csi": {
                            "additionalProperties": false,
                            "description": "`CSIVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "driver": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "fsType": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "nodePublishSecretRef": {
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "volumeAttributes": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "emptyDir": {
                            "additionalProperties": false,
                            "description": "`EmptyDir` to use to populate the volume.",
                            "properties": {
                              "medium": {
                                "description": "Medium represents the type of storage medium should back this volume. Valid values are unset or `Memory`. When not set, it will use the node's default medium.",
                                "enum": [
                                  "Memory"
                                ],
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "sizeLimit": {
                                "description": "The total amount of local storage required for this EmptyDir volume (for example 1Gi).",
                                "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "image": {
                            "additionalProperties": false,
                            "description": "`ImageVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "pullPolicy": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "reference": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "name": {
                            "description": "Name to use for the volume. Required.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "persistentVolumeClaim": {
                            "additionalProperties": false,
                            "description": "`PersistentVolumeClaim` object to use to populate the volume.",
                            "properties": {
                              "claimName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "secret": {
                            "additionalProperties": false,
                            "description": "`Secret` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "secretName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "podDisruptionBudget": {
                  "additionalProperties": false,
                  "description": "Template for Cruise Control `PodDisruptionBudget`.",
                  "properties": {
                    "maxUnavailable": {
                      "description": "Maximum number of unavailable pods to allow automatic Pod eviction. A Pod eviction is allowed when the `maxUnavailable` number of pods or fewer are unavailable after the eviction. Setting this value to 0 prevents all voluntary evictions, so the pods must be evicted manually. Defaults to 1.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata to apply to the `PodDisruptionBudgetTemplate` resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "serviceAccount": {
                  "additionalProperties": false,
                  "description": "Template for the Cruise Control service account.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "entityOperator": {
          "additionalProperties": false,
          "description": "Configuration of the Entity Operator.",
          "properties": {
            "template": {
              "additionalProperties": false,
              "description": "Template for Entity Operator resources. The template allows users to specify how a `Deployment` and `Pod` is generated.",
              "properties": {
                "deployment": {
                  "additionalProperties": false,
                  "description": "Template for Entity Operator `Deployment`.",
                  "properties": {
                    "deploymentStrategy": {
                      "description": "Pod replacement strategy for deployment configuration changes. Valid values are `RollingUpdate` and `Recreate`. Defaults to `RollingUpdate`.",
                      "enum": [
                        "RollingUpdate",
                        "Recreate"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "entityOperatorRole": {
                  "additionalProperties": false,
                  "description": "Template for the Entity Operator Role.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "pod": {
                  "additionalProperties": false,
                  "description": "Template for Entity Operator `Pods`.",
                  "properties": {
                    "affinity": {
                      "additionalProperties": false,
                      "description": "The pod's affinity rules.",
                      "properties": {
                        "nodeAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "preference": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "additionalProperties": false,
                              "properties": {
                                "nodeSelectorTerms": {
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": [
                                    "array",
                                    "null"
                                  ]
                                }
                              },
                              "type": [
                                "object",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAntiAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsConfig": {
                      "additionalProperties": false,
                      "description": "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy.",
                      "properties": {
                        "nameservers": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "options": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "searches": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsPolicy": {
                      "description": "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`.",
                      "enum": [
                        "ClusterFirst",
                        "ClusterFirstWithHostNet",
                        "Default",
                        "None"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "enableServiceLinks": {
                      "description": "Indicates whether information about services should be injected into Pod's environment variables.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "hostAliases": {
                      "description": "The pod's HostAliases. HostAliases is an optional list of hosts and IPs that will be injected into the Pod's hosts file if specified.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "hostnames": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "ip": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "hostUsers": {
                      "description": "Use the host user namespace. Optional. Defaults to `true`. When `true` or not set, the pod runs in the host user namespace. This is required when the pod needs features available only in the host namespace, such as loading kernel modules with `CAP_SYS_MODULE`.When set to `false`, the pod runs in a new user namespace. Setting `false` helps mitigate container breakout vulnerabilities and allows containers to run as `root` without granting `root` privileges on the host. This property is alpha-level in Kubernetes and is supported only by Kubernetes clusters that enable the `UserNamespacesSupport` feature.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "imagePullSecrets": {
                      "description": "List of references to secrets in the same namespace to use for pulling any of the images used by this Pod. When the `STRIMZI_IMAGE_PULL_SECRETS` environment variable in Cluster Operator and the `imagePullSecrets` option are specified, only the `imagePullSecrets` variable is used and the `STRIMZI_IMAGE_PULL_SECRETS` variable is ignored.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "priorityClassName": {
                      "description": "The name of the priority class used to assign priority to the pods. ",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "schedulerName": {
                      "description": "The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Configures pod-level security attributes and common container settings.",
                      "properties": {
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "fsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "fsGroupChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "supplementalGroups": {
                          "items": {
                            "type": "integer"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "supplementalGroupsPolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "sysctls": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "terminationGracePeriodSeconds": {
                      "description": "The grace period is the duration in seconds after the processes running in the pod are sent a termination signal, and the time when the processes are forcibly halted with a kill signal. Set this value to longer than the expected cleanup time for your process. Value must be a non-negative integer. A zero value indicates delete immediately. You might need to increase the grace period for very large Kafka clusters, so that the Kafka brokers have enough time to transfer their work to another broker before they are terminated. Defaults to 30 seconds.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "tmpDirSizeLimit": {
                      "description": "Defines the total amount of pod memory allocated for the temporary `EmptyDir` volume `/tmp`. Specify the allocation in memory units, for example, `100Mi` for 100 mebibytes. Default value is `5Mi`. The `/tmp` volume is backed by pod memory, not disk storage, so avoid setting a high value as it consumes pod memory resources.",
                      "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tolerations": {
                      "description": "The pod's tolerations.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "effect": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "key": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "operator": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tolerationSeconds": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "value": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "topologySpreadConstraints": {
                      "description": "The pod's topology spread constraints.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "labelSelector": {
                            "additionalProperties": false,
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "operator": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": [
                                        "array",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "maxSkew": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "minDomains": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "nodeAffinityPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "nodeTaintsPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "topologyKey": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "whenUnsatisfiable": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "volumes": {
                      "description": "Additional volumes that can be mounted to the pod.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "configMap": {},
                              "csi": {},
                              "emptyDir": {},
                              "image": {},
                              "persistentVolumeClaim": {},
                              "secret": {}
                            }
                          }
                        ],
                        "properties": {
                          "configMap": {
                            "additionalProperties": false,
                            "description": "`ConfigMap` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "csi": {
                            "additionalProperties": false,
                            "description": "`CSIVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "driver": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "fsType": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "nodePublishSecretRef": {
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "volumeAttributes": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "emptyDir": {
                            "additionalProperties": false,
                            "description": "`EmptyDir` to use to populate the volume.",
                            "properties": {
                              "medium": {
                                "description": "Medium represents the type of storage medium should back this volume. Valid values are unset or `Memory`. When not set, it will use the node's default medium.",
                                "enum": [
                                  "Memory"
                                ],
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "sizeLimit": {
                                "description": "The total amount of local storage required for this EmptyDir volume (for example 1Gi).",
                                "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "image": {
                            "additionalProperties": false,
                            "description": "`ImageVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "pullPolicy": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "reference": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "name": {
                            "description": "Name to use for the volume. Required.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "persistentVolumeClaim": {
                            "additionalProperties": false,
                            "description": "`PersistentVolumeClaim` object to use to populate the volume.",
                            "properties": {
                              "claimName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "secret": {
                            "additionalProperties": false,
                            "description": "`Secret` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "secretName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "podDisruptionBudget": {
                  "additionalProperties": false,
                  "description": "Template for the Entity Operator Pod Disruption Budget.",
                  "properties": {
                    "maxUnavailable": {
                      "description": "Maximum number of unavailable pods to allow automatic Pod eviction. A Pod eviction is allowed when the `maxUnavailable` number of pods or fewer are unavailable after the eviction. Setting this value to 0 prevents all voluntary evictions, so the pods must be evicted manually. Defaults to 1.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata to apply to the `PodDisruptionBudgetTemplate` resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "serviceAccount": {
                  "additionalProperties": false,
                  "description": "Template for the Entity Operator service account.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "topicOperatorContainer": {
                  "additionalProperties": false,
                  "description": "Template for the Entity Topic Operator container.",
                  "properties": {
                    "env": {
                      "description": "Environment variables which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "value": {}
                            },
                            "required": [
                              "value"
                            ]
                          },
                          {
                            "properties": {
                              "valueFrom": {}
                            },
                            "required": [
                              "valueFrom"
                            ]
                          }
                        ],
                        "properties": {
                          "name": {
                            "description": "The environment variable key.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The environment variable value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "valueFrom": {
                            "additionalProperties": false,
                            "description": "Reference to the secret or config map property to which the environment variable is set.",
                            "oneOf": [
                              {
                                "properties": {
                                  "secretKeyRef": {}
                                },
                                "required": [
                                  "secretKeyRef"
                                ]
                              },
                              {
                                "properties": {
                                  "configMapKeyRef": {}
                                },
                                "required": [
                                  "configMapKeyRef"
                                ]
                              }
                            ],
                            "properties": {
                              "configMapKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a config map.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "secretKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a secret.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Security context for the container.",
                      "properties": {
                        "allowPrivilegeEscalation": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "capabilities": {
                          "additionalProperties": false,
                          "properties": {
                            "add": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "drop": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "privileged": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "procMount": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "readOnlyRootFilesystem": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "volumeMounts": {
                      "description": "Additional volume mounts which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "mountPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "mountPropagation": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "readOnly": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "recursiveReadOnly": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPathExpr": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "topicOperatorRoleBinding": {
                  "additionalProperties": false,
                  "description": "Template for the Entity Topic Operator RoleBinding.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "userOperatorContainer": {
                  "additionalProperties": false,
                  "description": "Template for the Entity User Operator container.",
                  "properties": {
                    "env": {
                      "description": "Environment variables which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "value": {}
                            },
                            "required": [
                              "value"
                            ]
                          },
                          {
                            "properties": {
                              "valueFrom": {}
                            },
                            "required": [
                              "valueFrom"
                            ]
                          }
                        ],
                        "properties": {
                          "name": {
                            "description": "The environment variable key.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The environment variable value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "valueFrom": {
                            "additionalProperties": false,
                            "description": "Reference to the secret or config map property to which the environment variable is set.",
                            "oneOf": [
                              {
                                "properties": {
                                  "secretKeyRef": {}
                                },
                                "required": [
                                  "secretKeyRef"
                                ]
                              },
                              {
                                "properties": {
                                  "configMapKeyRef": {}
                                },
                                "required": [
                                  "configMapKeyRef"
                                ]
                              }
                            ],
                            "properties": {
                              "configMapKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a config map.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "secretKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a secret.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Security context for the container.",
                      "properties": {
                        "allowPrivilegeEscalation": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "capabilities": {
                          "additionalProperties": false,
                          "properties": {
                            "add": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "drop": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "privileged": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "procMount": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "readOnlyRootFilesystem": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "volumeMounts": {
                      "description": "Additional volume mounts which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "mountPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "mountPropagation": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "readOnly": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "recursiveReadOnly": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPathExpr": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "userOperatorRoleBinding": {
                  "additionalProperties": false,
                  "description": "Template for the Entity Topic Operator RoleBinding.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "topicOperator": {
              "additionalProperties": false,
              "description": "Configuration of the Topic Operator.",
              "properties": {
                "image": {
                  "description": "The image to use for the Topic Operator.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "jvmOptions": {
                  "additionalProperties": false,
                  "description": "JVM Options for pods.",
                  "properties": {
                    "-XX": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "A map of -XX options to the JVM.",
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "-Xms": {
                      "description": "-Xms option to to the JVM.",
                      "pattern": "^[0-9]+[mMgG]?$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "-Xmx": {
                      "description": "-Xmx option to to the JVM.",
                      "pattern": "^[0-9]+[mMgG]?$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "gcLoggingEnabled": {
                      "description": "Specifies whether the Garbage Collection logging is enabled. The default is false.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "javaSystemProperties": {
                      "description": "A map of additional system properties which will be passed using the `-D` option to the JVM.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "description": "The system property name.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The system property value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "livenessProbe": {
                  "additionalProperties": false,
                  "description": "Pod liveness checking.",
                  "properties": {
                    "failureThreshold": {
                      "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "initialDelaySeconds": {
                      "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "periodSeconds": {
                      "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "successThreshold": {
                      "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "timeoutSeconds": {
                      "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "logging": {
                  "additionalProperties": false,
                  "description": "Logging configuration.",
                  "properties": {
                    "loggers": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "A Map from logger name to logger level.",
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "type": {
                      "description": "Logging type, must be either 'inline' or 'external'.",
                      "enum": [
                        "inline",
                        "external"
                      ],
                      "type": "string"
                    },
                    "valueFrom": {
                      "additionalProperties": false,
                      "description": "`ConfigMap` entry where the logging configuration is stored. ",
                      "properties": {
                        "configMapKeyRef": {
                          "additionalProperties": false,
                          "description": "Reference to the key in the ConfigMap containing the configuration.",
                          "properties": {
                            "key": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "name": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "optional": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "readinessProbe": {
                  "additionalProperties": false,
                  "description": "Pod readiness checking.",
                  "properties": {
                    "failureThreshold": {
                      "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "initialDelaySeconds": {
                      "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "periodSeconds": {
                      "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "successThreshold": {
                      "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "timeoutSeconds": {
                      "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "reconciliationIntervalMs": {
                  "description": "Interval between periodic reconciliations in milliseconds.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "resources": {
                  "additionalProperties": false,
                  "description": "CPU and memory resources to reserve.",
                  "properties": {
                    "claims": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "request": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "limits": {
                      "additionalProperties": {
                        "oneOf": [
                          {
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "type": "string"
                          },
                          {
                            "type": "integer"
                          }
                        ],
                        "x-kubernetes-int-or-string": true
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "requests": {
                      "additionalProperties": {
                        "oneOf": [
                          {
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "type": "string"
                          },
                          {
                            "type": "integer"
                          }
                        ],
                        "x-kubernetes-int-or-string": true
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "startupProbe": {
                  "additionalProperties": false,
                  "description": "Pod startup checking.",
                  "properties": {
                    "failureThreshold": {
                      "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "initialDelaySeconds": {
                      "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "periodSeconds": {
                      "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "successThreshold": {
                      "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "timeoutSeconds": {
                      "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "watchedNamespace": {
                  "description": "The namespace the Topic Operator should watch.",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "userOperator": {
              "additionalProperties": false,
              "description": "Configuration of the User Operator.",
              "properties": {
                "image": {
                  "description": "The image to use for the User Operator.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "jvmOptions": {
                  "additionalProperties": false,
                  "description": "JVM Options for pods.",
                  "properties": {
                    "-XX": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "A map of -XX options to the JVM.",
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "-Xms": {
                      "description": "-Xms option to to the JVM.",
                      "pattern": "^[0-9]+[mMgG]?$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "-Xmx": {
                      "description": "-Xmx option to to the JVM.",
                      "pattern": "^[0-9]+[mMgG]?$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "gcLoggingEnabled": {
                      "description": "Specifies whether the Garbage Collection logging is enabled. The default is false.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "javaSystemProperties": {
                      "description": "A map of additional system properties which will be passed using the `-D` option to the JVM.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "description": "The system property name.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The system property value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "livenessProbe": {
                  "additionalProperties": false,
                  "description": "Pod liveness checking.",
                  "properties": {
                    "failureThreshold": {
                      "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "initialDelaySeconds": {
                      "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "periodSeconds": {
                      "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "successThreshold": {
                      "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "timeoutSeconds": {
                      "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "logging": {
                  "additionalProperties": false,
                  "description": "Logging configuration.",
                  "properties": {
                    "loggers": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "A Map from logger name to logger level.",
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "type": {
                      "description": "Logging type, must be either 'inline' or 'external'.",
                      "enum": [
                        "inline",
                        "external"
                      ],
                      "type": "string"
                    },
                    "valueFrom": {
                      "additionalProperties": false,
                      "description": "`ConfigMap` entry where the logging configuration is stored. ",
                      "properties": {
                        "configMapKeyRef": {
                          "additionalProperties": false,
                          "description": "Reference to the key in the ConfigMap containing the configuration.",
                          "properties": {
                            "key": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "name": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "optional": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "readinessProbe": {
                  "additionalProperties": false,
                  "description": "Pod readiness checking.",
                  "properties": {
                    "failureThreshold": {
                      "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "initialDelaySeconds": {
                      "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "periodSeconds": {
                      "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "successThreshold": {
                      "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "timeoutSeconds": {
                      "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                      "minimum": 1,
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "reconciliationIntervalMs": {
                  "description": "Interval between periodic reconciliations in milliseconds.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "resources": {
                  "additionalProperties": false,
                  "description": "CPU and memory resources to reserve.",
                  "properties": {
                    "claims": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "request": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "limits": {
                      "additionalProperties": {
                        "oneOf": [
                          {
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "type": "string"
                          },
                          {
                            "type": "integer"
                          }
                        ],
                        "x-kubernetes-int-or-string": true
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "requests": {
                      "additionalProperties": {
                        "oneOf": [
                          {
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "type": "string"
                          },
                          {
                            "type": "integer"
                          }
                        ],
                        "x-kubernetes-int-or-string": true
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "secretPrefix": {
                  "description": "The prefix that will be added to the KafkaUser name to be used as the Secret name.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "watchedNamespace": {
                  "description": "The namespace the User Operator should watch.",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "kafka": {
          "additionalProperties": false,
          "description": "Configuration of the Kafka cluster.",
          "properties": {
            "authorization": {
              "additionalProperties": false,
              "description": "Authorization configuration for Kafka brokers.",
              "properties": {
                "authorizerClass": {
                  "description": "Authorization implementation class, which must be available in classpath.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "superUsers": {
                  "description": "List of super users, which are user principals with unlimited access rights.",
                  "items": {
                    "type": "string"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                },
                "supportsAdminApi": {
                  "description": "Indicates whether the custom authorizer supports the APIs for managing ACLs using the Kafka Admin API. Defaults to `false`.",
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "type": {
                  "description": "Authorization type. Currently, the supported types are `simple`, `keycloak`, `opa` and `custom`. `simple` authorization type uses Kafka's built-in authorizer for authorization. `keycloak` authorization type uses Keycloak Authorization Services for authorization. `opa` authorization type uses Open Policy Agent based authorization. `custom` authorization type uses user-provided implementation for authorization. `opa` (as of Strimzi 0.46.0) and `keycloak` (as of Strimzi 0.49.0) types are deprecated and will be removed in the `v1` API version. Please use `custom` type instead.",
                  "enum": [
                    "simple",
                    "custom"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": [
                "object",
                "null"
              ]
            },
            "brokerRackInitImage": {
              "description": "The image of the init container used for initializing the `broker.rack`.",
              "type": [
                "string",
                "null"
              ]
            },
            "config": {
              "description": "Kafka broker config properties with certain prefixes cannot be set unless it is in the exception list. Consult the documentation for the list of forbidden prefixes and exceptions.",
              "type": [
                "object",
                "null"
              ],
              "x-kubernetes-preserve-unknown-fields": true
            },
            "image": {
              "description": "The container image used for Kafka pods. If the property is not set, the default Kafka image version is determined based on the `version` configuration. The image names are specifically mapped to corresponding versions in the Cluster Operator configuration. Changing the Kafka image version does not automatically update the image versions for other components, such as Kafka Exporter. ",
              "type": [
                "string",
                "null"
              ]
            },
            "jmxOptions": {
              "additionalProperties": false,
              "description": "JMX Options for Kafka brokers.",
              "properties": {
                "authentication": {
                  "additionalProperties": false,
                  "description": "Authentication configuration for connecting to the JMX port.",
                  "properties": {
                    "type": {
                      "description": "Authentication type. Currently the only supported types are `password`.`password` type creates a username and protected port with no TLS.",
                      "enum": [
                        "password"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "jvmOptions": {
              "additionalProperties": false,
              "description": "JVM Options for pods.",
              "properties": {
                "-XX": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "A map of -XX options to the JVM.",
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "-Xms": {
                  "description": "-Xms option to to the JVM.",
                  "pattern": "^[0-9]+[mMgG]?$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "-Xmx": {
                  "description": "-Xmx option to to the JVM.",
                  "pattern": "^[0-9]+[mMgG]?$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "gcLoggingEnabled": {
                  "description": "Specifies whether the Garbage Collection logging is enabled. The default is false.",
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "javaSystemProperties": {
                  "description": "A map of additional system properties which will be passed using the `-D` option to the JVM.",
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "name": {
                        "description": "The system property name.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "value": {
                        "description": "The system property value.",
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "listeners": {
              "description": "Configures listeners to provide access to Kafka brokers.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "authentication": {
                    "additionalProperties": false,
                    "description": "Authentication configuration for this listener.",
                    "properties": {
                      "listenerConfig": {
                        "description": "Configuration to be used for a specific listener. All values are prefixed with `listener.name.\u003clistener_name\u003e`.",
                        "type": [
                          "object",
                          "null"
                        ],
                        "x-kubernetes-preserve-unknown-fields": true
                      },
                      "sasl": {
                        "description": "Enable or disable SASL on this listener.",
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "type": {
                        "description": "Authentication type. `oauth` type uses SASL OAUTHBEARER Authentication. `scram-sha-512` type uses SASL SCRAM-SHA-512 Authentication. `tls` type uses TLS Client Authentication. `tls` type is supported only on TLS listeners. `custom` type allows for any authentication type to be used. As of Strimzi 0.49.0, `oauth` type is deprecated and will be removed in the `v1` API version. Please use `custom` type instead.",
                        "enum": [
                          "tls",
                          "scram-sha-512",
                          "custom"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "configuration": {
                    "additionalProperties": false,
                    "description": "Additional listener configuration.",
                    "properties": {
                      "advertisedHostTemplate": {
                        "description": "Configures the template for generating the advertised hostnames of the individual brokers. Valid placeholders that you can use in the template are `{nodeId}` and `{nodePodName}`.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "advertisedPortTemplate": {
                        "description": "Configures the template for generating the advertised ports of the individual brokers. It allows to specify a simple mathematics formula that will be used to calculate the port. The only valid placeholder that you can use in the template is `{nodeId}`. Supported operations are `+`, `-`, and `*`. For example, `9000 + {nodeId}` will generate ports `9000`, `9001`, `9002`, and so on for the individual brokers. You can also use a fixed port number in the template, for example `9000`, which will generate the same port for all brokers.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "allocateLoadBalancerNodePorts": {
                        "description": "Configures whether to allocate NodePort automatically for the `Service` with type `LoadBalancer`.\nThis is a one to one with the `spec.allocateLoadBalancerNodePorts` configuration in the `Service` type\nFor `loadbalancer` listeners only.",
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "bootstrap": {
                        "additionalProperties": false,
                        "description": "Bootstrap configuration.",
                        "properties": {
                          "alternativeNames": {
                            "description": "Additional alternative names for the bootstrap service. The alternative names will be added to the list of subject alternative names of the TLS certificates.",
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "annotations": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "Annotations added to `Ingress`, `Route`, or `Service` resources. You can use this property to configure DNS providers such as External DNS. For `loadbalancer`, `nodeport`, `route`, or `ingress` listeners only.",
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "externalIPs": {
                            "description": "External IPs associated to the nodeport service. These IPs are used by clients external to the Kubernetes cluster to access the Kafka brokers. This property is helpful when `nodeport` without `externalIP` is not sufficient. For example on bare-metal Kubernetes clusters that do not support Loadbalancer service types. For `nodeport` listeners only.",
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "host": {
                            "description": "Specifies the hostname used for the bootstrap resource. For `route` (optional) or `ingress` (required) listeners only. Ensure the hostname resolves to the Ingress endpoints; no validation is performed by Strimzi.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "labels": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "Labels added to `Ingress`, `Route`, or `Service` resources. For `loadbalancer`, `nodeport`, `route`, or `ingress` listeners only.",
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "loadBalancerIP": {
                            "description": "The loadbalancer is requested with the IP address specified in this property. This feature depends on whether the underlying cloud provider supports specifying the `loadBalancerIP` when a load balancer is created. This property is ignored if the cloud provider does not support the feature. For `loadbalancer` listeners only.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "nodePort": {
                            "description": "Node port for the bootstrap service. For `nodeport` listeners only.",
                            "type": [
                              "integer",
                              "null"
                            ]
                          }
                        },
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "brokerCertChainAndKey": {
                        "additionalProperties": false,
                        "description": "Reference to the `Secret` which holds the certificate and private key pair which will be used for this listener. The certificate can optionally contain the whole chain. This field can be used only with listeners with enabled TLS encryption.",
                        "properties": {
                          "certificate": {
                            "description": "The name of the file certificate in the Secret.",
                            "type": "string"
                          },
                          "key": {
                            "description": "The name of the private key in the secret. The private key must be in unencrypted PKCS #8 format. For more information, see RFC 5208: https://datatracker.ietf.org/doc/html/rfc5208.",
                            "type": "string"
                          },
                          "secretName": {
                            "description": "The name of the Secret containing the certificate.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "secretName",
                          "certificate",
                          "key"
                        ],
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "brokers": {
                        "description": "Per-broker configurations.",
                        "items": {
                          "additionalProperties": false,
                          "properties": {
                            "advertisedHost": {
                              "description": "The host name used in the brokers' `advertised.listeners`.",
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "advertisedPort": {
                              "description": "The port number used in the brokers' `advertised.listeners`.",
                              "type": [
                                "integer",
                                "null"
                              ]
                            },
                            "annotations": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Annotations that will be added to the `Ingress` or `Service` resource. You can use this field to configure DNS providers such as External DNS. This field can be used only with `loadbalancer`, `nodeport`, or `ingress` type listeners.",
                              "type": [
                                "object",
                                "null"
                              ]
                            },
                            "broker": {
                              "description": "ID of the kafka broker (broker identifier). Broker IDs start from 0 and correspond to the number of broker replicas.",
                              "type": "integer"
                            },
                            "externalIPs": {
                              "description": "External IPs associated to the nodeport service. These IPs are used by clients external to the Kubernetes cluster to access the Kafka brokers. This field is helpful when `nodeport` without `externalIP` is not sufficient. For example on bare-metal Kubernetes clusters that do not support Loadbalancer service types. This field can only be used with `nodeport` type listener.",
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "host": {
                              "description": "The broker host. This field will be used in the Ingress resource or in the Route resource to specify the desired hostname. This field can be used only with `route` (optional) or `ingress` (required) type listeners.",
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "labels": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Labels that will be added to the `Ingress`, `Route`, or `Service` resource. This field can be used only with `loadbalancer`, `nodeport`, `route`, or `ingress` type listeners.",
                              "type": [
                                "object",
                                "null"
                              ]
                            },
                            "loadBalancerIP": {
                              "description": "The loadbalancer is requested with the IP address specified in this field. This feature depends on whether the underlying cloud provider supports specifying the `loadBalancerIP` when a load balancer is created. This field is ignored if the cloud provider does not support the feature.This field can be used only with `loadbalancer` type listener.",
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "nodePort": {
                              "description": "Node port for the per-broker service. This field can be used only with `nodeport` type listener.",
                              "type": [
                                "integer",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "broker"
                          ],
                          "type": "object"
                        },
                        "type": [
                          "array",
                          "null"
                        ]
                      },
                      "class": {
                        "description": "Configures a specific class for `Ingress` and `LoadBalancer` that defines which controller is used. If not specified, the default controller is used.\n\n* For an `ingress` listener, the operator uses this property to set the `ingressClassName` property in the `Ingress` resources.\n* For a `loadbalancer` listener, the operator uses this property to set the `loadBalancerClass` property  in the `Service` resources.\n\nFor `ingress` and `loadbalancer` listeners only.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "createBootstrapService": {
                        "description": "Whether to create the bootstrap service or not. The bootstrap service is created by default (if not specified differently). This field can be used with the `loadbalancer` listener.",
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "externalTrafficPolicy": {
                        "description": "Specifies whether the service routes external traffic to cluster-wide or node-local endpoints:\n\n* `Cluster` may cause a second hop to another node and obscures the client source IP.\n* `Local` avoids a second hop for `LoadBalancer` and `Nodeport` type services and preserves the client source IP (when supported by the infrastructure).\n\nIf unspecified, Kubernetes uses `Cluster` as the default. For `loadbalancer` or `nodeport` listeners only.",
                        "enum": [
                          "Local",
                          "Cluster"
                        ],
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "finalizers": {
                        "description": "A list of finalizers configured for the `LoadBalancer` type services created for this listener. If supported by the platform, the finalizer `service.kubernetes.io/load-balancer-cleanup` to make sure that the external load balancer is deleted together with the service.For more information, see https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#garbage-collecting-load-balancers. For `loadbalancer` listeners only.",
                        "items": {
                          "type": "string"
                        },
                        "type": [
                          "array",
                          "null"
                        ]
                      },
                      "hostTemplate": {
                        "description": "Configures the template for generating the hostnames of the individual brokers. Valid placeholders that you can use in the template are `{nodeId}` and `{nodePodName}`.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "ipFamilies": {
                        "description": "Specifies the IP Families used by the service. Available options are `IPv4` and `IPv6`. If unspecified, Kubernetes will choose the default value based on the `ipFamilyPolicy` setting.",
                        "items": {
                          "enum": [
                            "IPv4",
                            "IPv6"
                          ],
                          "type": "string"
                        },
                        "type": [
                          "array",
                          "null"
                        ]
                      },
                      "ipFamilyPolicy": {
                        "description": "Specifies the IP Family Policy used by the service. Available options are `SingleStack`, `PreferDualStack` and `RequireDualStack`:\n\n* `SingleStack` is for a single IP family.\n* `PreferDualStack` is for two IP families on dual-stack configured clusters or a single IP family on single-stack clusters.\n* `RequireDualStack` fails unless there are two IP families on dual-stack configured clusters.\n\nIf unspecified, Kubernetes will choose the default value based on the service type.",
                        "enum": [
                          "SingleStack",
                          "PreferDualStack",
                          "RequireDualStack"
                        ],
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "loadBalancerSourceRanges": {
                        "description": "A list of CIDR ranges (for example `10.0.0.0/8` or `130.211.204.1/32`) from which clients can connect to loadbalancer listeners. If supported by the platform, traffic through the loadbalancer is restricted to the specified CIDR ranges. This field is applicable only for loadbalancer type services and is ignored if the cloud provider does not support the feature. For `loadbalancer` listeners only.",
                        "items": {
                          "type": "string"
                        },
                        "type": [
                          "array",
                          "null"
                        ]
                      },
                      "maxConnectionCreationRate": {
                        "description": "The maximum connection creation rate we allow in this listener at any time. New connections will be throttled if the limit is reached.",
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "maxConnections": {
                        "description": "The maximum number of connections we allow for this listener in the broker at any time. New connections are blocked if the limit is reached.",
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "preferredNodePortAddressType": {
                        "description": "Defines which address type should be used as the node address. Available types are: `ExternalDNS`, `ExternalIP`, `InternalDNS`, `InternalIP` and `Hostname`. By default, the addresses are used in the following order (the first one found is used):\n\n* `ExternalDNS`\n* `ExternalIP`\n* `InternalDNS`\n* `InternalIP`\n* `Hostname`\n\nThis property is used to select the preferred address type, which is checked first. If no address is found for this address type, the other types are checked in the default order. For `nodeport` listeners only.",
                        "enum": [
                          "ExternalIP",
                          "ExternalDNS",
                          "InternalIP",
                          "InternalDNS",
                          "Hostname"
                        ],
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "publishNotReadyAddresses": {
                        "description": "Configures whether the service endpoints are considered \"ready\" even if the Pods themselves are not. Defaults to `false`. This field can not be used with `internal` listeners.",
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "useServiceDnsDomain": {
                        "description": "Configures whether the Kubernetes service DNS domain should be included in the generated addresses.\n\n* If set to `false`, the generated addresses do not contain the service DNS domain suffix. For example, `my-cluster-kafka-0.my-cluster-kafka-brokers.myproject.svc`.\n* If set to `true`, the generated addresses contain the service DNS domain suffix. For example, `my-cluster-kafka-0.my-cluster-kafka-brokers.myproject.svc.cluster.local`.\n\nThe default is `.cluster.local`, but this is customizable using the environment variable `KUBERNETES_SERVICE_DNS_DOMAIN`. For `internal` and `cluster-ip` listeners only.",
                        "type": [
                          "boolean",
                          "null"
                        ]
                      }
                    },
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "name": {
                    "description": "Name of the listener. The name will be used to identify the listener and the related Kubernetes objects. The name has to be unique within given a Kafka cluster. The name can consist of lowercase characters and numbers and be up to 11 characters long.",
                    "pattern": "^[a-z0-9]{1,11}$",
                    "type": "string"
                  },
                  "networkPolicyPeers": {
                    "description": "List of peers which should be able to connect to this listener. Peers in this list are combined using a logical OR operation. If this field is empty or missing, all connections will be allowed for this listener. If this field is present and contains at least one item, the listener only allows the traffic which matches at least one item in this list.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "ipBlock": {
                          "additionalProperties": false,
                          "properties": {
                            "cidr": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "except": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "namespaceSelector": {
                          "additionalProperties": false,
                          "properties": {
                            "matchExpressions": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "operator": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "values": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "matchLabels": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "type": [
                                "object",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podSelector": {
                          "additionalProperties": false,
                          "properties": {
                            "matchExpressions": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "operator": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "values": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "matchLabels": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "type": [
                                "object",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": "object"
                    },
                    "type": [
                      "array",
                      "null"
                    ]
                  },
                  "port": {
                    "description": "Port number used by the listener inside Kafka. The port number has to be unique within a given Kafka cluster. Allowed port numbers are 9092 and higher with the exception of ports 9404 and 9999, which are already used for Prometheus and JMX. Depending on the listener type, the port number might not be the same as the port number that connects Kafka clients.",
                    "minimum": 9092,
                    "type": "integer"
                  },
                  "tls": {
                    "description": "Enables TLS encryption on the listener. This is a required property. For `route` and `ingress` type listeners, TLS encryption must be always enabled.",
                    "type": "boolean"
                  },
                  "type": {
                    "description": "Type of the listener. The supported types are as follows: \n\n* `internal` type exposes Kafka internally only within the Kubernetes cluster.\n* `route` type uses OpenShift Routes to expose Kafka.\n* `loadbalancer` type uses LoadBalancer type services to expose Kafka.\n* `nodeport` type uses NodePort type services to expose Kafka.\n* `ingress` (deprecated) type uses Kubernetes Nginx Ingress to expose Kafka with TLS passthrough.\n* `cluster-ip` type uses a per-broker `ClusterIP` service.\n",
                    "enum": [
                      "internal",
                      "route",
                      "loadbalancer",
                      "nodeport",
                      "ingress",
                      "cluster-ip"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "port",
                  "type",
                  "tls"
                ],
                "type": "object"
              },
              "minItems": 1,
              "type": "array"
            },
            "livenessProbe": {
              "additionalProperties": false,
              "description": "Pod liveness checking.",
              "properties": {
                "failureThreshold": {
                  "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "initialDelaySeconds": {
                  "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "periodSeconds": {
                  "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "successThreshold": {
                  "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "timeoutSeconds": {
                  "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "logging": {
              "additionalProperties": false,
              "description": "Logging configuration for Kafka.",
              "properties": {
                "loggers": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "A Map from logger name to logger level.",
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "type": {
                  "description": "Logging type, must be either 'inline' or 'external'.",
                  "enum": [
                    "inline",
                    "external"
                  ],
                  "type": "string"
                },
                "valueFrom": {
                  "additionalProperties": false,
                  "description": "`ConfigMap` entry where the logging configuration is stored. ",
                  "properties": {
                    "configMapKeyRef": {
                      "additionalProperties": false,
                      "description": "Reference to the key in the ConfigMap containing the configuration.",
                      "properties": {
                        "key": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "optional": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "required": [
                "type"
              ],
              "type": [
                "object",
                "null"
              ]
            },
            "metadataVersion": {
              "description": "The KRaft metadata version used by the Kafka cluster. This property is ignored when running in ZooKeeper mode. If the property is not set, it defaults to the metadata version that corresponds to the `version` property.",
              "type": [
                "string",
                "null"
              ]
            },
            "metricsConfig": {
              "additionalProperties": false,
              "description": "Metrics configuration.",
              "properties": {
                "type": {
                  "description": "Metrics type. The supported types are `jmxPrometheusExporter` and `strimziMetricsReporter`. Type `jmxPrometheusExporter` uses the Prometheus JMX Exporter to expose Kafka JMX metrics in Prometheus format through an HTTP endpoint. Type `strimziMetricsReporter` uses the Strimzi Metrics Reporter to directly expose Kafka metrics in Prometheus format through an HTTP endpoint.",
                  "enum": [
                    "jmxPrometheusExporter",
                    "strimziMetricsReporter"
                  ],
                  "type": "string"
                },
                "valueFrom": {
                  "additionalProperties": false,
                  "description": "ConfigMap entry where the Prometheus JMX Exporter configuration is stored.",
                  "properties": {
                    "configMapKeyRef": {
                      "additionalProperties": false,
                      "description": "Reference to the key in the ConfigMap containing the configuration.",
                      "properties": {
                        "key": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "optional": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "values": {
                  "additionalProperties": false,
                  "description": "Configuration values for the Strimzi Metrics Reporter.",
                  "properties": {
                    "allowList": {
                      "description": "A list of regex patterns to filter the metrics to collect. Should contain at least one element.",
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "required": [
                "type"
              ],
              "type": [
                "object",
                "null"
              ],
              "x-kubernetes-validations": [
                {
                  "message": "valueFrom property is required",
                  "rule": "self.type != 'jmxPrometheusExporter' || has(self.valueFrom)"
                }
              ]
            },
            "quotas": {
              "additionalProperties": false,
              "description": "Quotas plugin configuration for Kafka brokers allows setting quotas for disk usage, produce/fetch rates, and more. Supported plugin types include `kafka` (default) and `strimzi`. If not specified, the default `kafka` quotas plugin is used.",
              "properties": {
                "consumerByteRate": {
                  "description": "A per-broker byte-rate quota for clients consuming from a broker, independent of their number. If clients consume at maximum speed, the quota is shared equally between all non-excluded consumers. Otherwise, the quota is divided based on each client's consumption rate.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "controllerMutationRate": {
                  "description": "The default client quota on the rate at which mutations are accepted per second for create topic requests, create partition requests, and delete topic requests, defined for each broker. The mutations rate is measured by the number of partitions created or deleted. Applied on a per-broker basis.",
                  "minimum": 0,
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "excludedPrincipals": {
                  "description": "List of principals that are excluded from the quota. The principals have to be prefixed with `User:`, for example `User:my-user;User:CN=my-other-user`.",
                  "items": {
                    "type": "string"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                },
                "minAvailableBytesPerVolume": {
                  "description": "Stop message production if the available size (in bytes) of the storage is lower than or equal to this specified value. This condition is mutually exclusive with `minAvailableRatioPerVolume`.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "minAvailableRatioPerVolume": {
                  "description": "Stop message production if the percentage of available storage space falls below or equals the specified ratio (set as a decimal representing a percentage). This condition is mutually exclusive with `minAvailableBytesPerVolume`.",
                  "maximum": 1,
                  "minimum": 0,
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "producerByteRate": {
                  "description": "A per-broker byte-rate quota for clients producing to a broker, independent of their number. If clients produce at maximum speed, the quota is shared equally between all non-excluded producers. Otherwise, the quota is divided based on each client's production rate.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "requestPercentage": {
                  "description": "The default client quota limits the maximum CPU utilization of each client as a percentage of the network and I/O threads of each broker. Applied on a per-broker basis.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "type": {
                  "description": "Quotas plugin type. Currently, the supported types are `kafka` and `strimzi`. `kafka` quotas type uses Kafka's built-in quotas plugin. `strimzi` quotas type uses Strimzi quotas plugin.",
                  "enum": [
                    "kafka",
                    "strimzi"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": [
                "object",
                "null"
              ]
            },
            "rack": {
              "additionalProperties": false,
              "description": "Configuration of the `broker.rack` broker config.",
              "properties": {
                "envVarName": {
                  "description": "The name of the environment variable that defines the rack ID. Its value sets the `broker.rack` configuration for Kafka brokers and the `client.rack` configuration for Kafka Connect or MirrorMaker 2.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "topologyKey": {
                  "description": "A key that matches labels assigned to the Kubernetes cluster nodes. The value of the label is used to set a broker's `broker.rack` config, and the `client.rack` config for Kafka Connect or MirrorMaker 2.",
                  "example": "topology.kubernetes.io/zone",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "type": {
                  "description": "Specifies the rack awareness type. Supported types are `topology-label` and `environment-variable`. `topology-label` uses a Kubernetes worker node label to set the `broker.rack` configuration for Kafka brokers and the `client.rack` configuration for Kafka Connect and MirrorMaker 2. `environment-variable` uses an environment variable to set the `broker.rack` configuration for Kafka brokers and the `client.rack` configuration for Kafka Connect and MirrorMaker 2. When not specified, `topology-label` type is used by default.",
                  "enum": [
                    "topology-label",
                    "environment-variable"
                  ],
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ],
              "x-kubernetes-validations": [
                {
                  "message": "topologyKey property is required",
                  "rule": "(has(self.type) \u0026\u0026 self.type != \"topology-label\") || self.topologyKey != \"\""
                },
                {
                  "message": "envVarName property is required",
                  "rule": "has(self.type) == false || self.type != \"environment-variable\" || self.envVarName != \"\""
                }
              ]
            },
            "readinessProbe": {
              "additionalProperties": false,
              "description": "Pod readiness checking.",
              "properties": {
                "failureThreshold": {
                  "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "initialDelaySeconds": {
                  "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "periodSeconds": {
                  "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "successThreshold": {
                  "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "timeoutSeconds": {
                  "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "template": {
              "additionalProperties": false,
              "description": "Template for Kafka cluster resources. The template allows users to specify how the Kubernetes resources are generated.",
              "properties": {
                "bootstrapService": {
                  "additionalProperties": false,
                  "description": "Template for Kafka bootstrap `Service`.",
                  "properties": {
                    "ipFamilies": {
                      "description": "Specifies the IP Families used by the service. Available options are `IPv4` and `IPv6`. If unspecified, Kubernetes will choose the default value based on the `ipFamilyPolicy` setting.",
                      "items": {
                        "enum": [
                          "IPv4",
                          "IPv6"
                        ],
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "ipFamilyPolicy": {
                      "description": "Specifies the IP Family Policy used by the service. Available options are `SingleStack`, `PreferDualStack` and `RequireDualStack`. `SingleStack` is for a single IP family. `PreferDualStack` is for two IP families on dual-stack configured clusters or a single IP family on single-stack clusters. `RequireDualStack` fails unless there are two IP families on dual-stack configured clusters. If unspecified, Kubernetes will choose the default value based on the service type.",
                      "enum": [
                        "SingleStack",
                        "PreferDualStack",
                        "RequireDualStack"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "brokersService": {
                  "additionalProperties": false,
                  "description": "Template for Kafka broker `Service`.",
                  "properties": {
                    "ipFamilies": {
                      "description": "Specifies the IP Families used by the service. Available options are `IPv4` and `IPv6`. If unspecified, Kubernetes will choose the default value based on the `ipFamilyPolicy` setting.",
                      "items": {
                        "enum": [
                          "IPv4",
                          "IPv6"
                        ],
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "ipFamilyPolicy": {
                      "description": "Specifies the IP Family Policy used by the service. Available options are `SingleStack`, `PreferDualStack` and `RequireDualStack`. `SingleStack` is for a single IP family. `PreferDualStack` is for two IP families on dual-stack configured clusters or a single IP family on single-stack clusters. `RequireDualStack` fails unless there are two IP families on dual-stack configured clusters. If unspecified, Kubernetes will choose the default value based on the service type.",
                      "enum": [
                        "SingleStack",
                        "PreferDualStack",
                        "RequireDualStack"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "clusterCaCert": {
                  "additionalProperties": false,
                  "description": "Template for Secret with Kafka Cluster certificate public key.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "clusterRoleBinding": {
                  "additionalProperties": false,
                  "description": "Template for the Kafka ClusterRoleBinding.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "externalBootstrapIngress": {
                  "additionalProperties": false,
                  "description": "Template for Kafka external bootstrap `Ingress`.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "externalBootstrapRoute": {
                  "additionalProperties": false,
                  "description": "Template for Kafka external bootstrap `Route`.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "externalBootstrapService": {
                  "additionalProperties": false,
                  "description": "Template for Kafka external bootstrap `Service`.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "initContainer": {
                  "additionalProperties": false,
                  "description": "Template for the Kafka init container.",
                  "properties": {
                    "env": {
                      "description": "Environment variables which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "value": {}
                            },
                            "required": [
                              "value"
                            ]
                          },
                          {
                            "properties": {
                              "valueFrom": {}
                            },
                            "required": [
                              "valueFrom"
                            ]
                          }
                        ],
                        "properties": {
                          "name": {
                            "description": "The environment variable key.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The environment variable value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "valueFrom": {
                            "additionalProperties": false,
                            "description": "Reference to the secret or config map property to which the environment variable is set.",
                            "oneOf": [
                              {
                                "properties": {
                                  "secretKeyRef": {}
                                },
                                "required": [
                                  "secretKeyRef"
                                ]
                              },
                              {
                                "properties": {
                                  "configMapKeyRef": {}
                                },
                                "required": [
                                  "configMapKeyRef"
                                ]
                              }
                            ],
                            "properties": {
                              "configMapKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a config map.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "secretKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a secret.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Security context for the container.",
                      "properties": {
                        "allowPrivilegeEscalation": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "capabilities": {
                          "additionalProperties": false,
                          "properties": {
                            "add": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "drop": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "privileged": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "procMount": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "readOnlyRootFilesystem": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "volumeMounts": {
                      "description": "Additional volume mounts which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "mountPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "mountPropagation": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "readOnly": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "recursiveReadOnly": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPathExpr": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "jmxSecret": {
                  "additionalProperties": false,
                  "description": "Template for Secret of the Kafka Cluster JMX authentication.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "kafkaContainer": {
                  "additionalProperties": false,
                  "description": "Template for the Kafka broker container.",
                  "properties": {
                    "env": {
                      "description": "Environment variables which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "value": {}
                            },
                            "required": [
                              "value"
                            ]
                          },
                          {
                            "properties": {
                              "valueFrom": {}
                            },
                            "required": [
                              "valueFrom"
                            ]
                          }
                        ],
                        "properties": {
                          "name": {
                            "description": "The environment variable key.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The environment variable value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "valueFrom": {
                            "additionalProperties": false,
                            "description": "Reference to the secret or config map property to which the environment variable is set.",
                            "oneOf": [
                              {
                                "properties": {
                                  "secretKeyRef": {}
                                },
                                "required": [
                                  "secretKeyRef"
                                ]
                              },
                              {
                                "properties": {
                                  "configMapKeyRef": {}
                                },
                                "required": [
                                  "configMapKeyRef"
                                ]
                              }
                            ],
                            "properties": {
                              "configMapKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a config map.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "secretKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a secret.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Security context for the container.",
                      "properties": {
                        "allowPrivilegeEscalation": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "capabilities": {
                          "additionalProperties": false,
                          "properties": {
                            "add": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "drop": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "privileged": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "procMount": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "readOnlyRootFilesystem": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "volumeMounts": {
                      "description": "Additional volume mounts which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "mountPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "mountPropagation": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "readOnly": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "recursiveReadOnly": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPathExpr": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "perPodIngress": {
                  "additionalProperties": false,
                  "description": "Template for Kafka per-pod `Ingress` used for access from outside of Kubernetes.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "perPodRoute": {
                  "additionalProperties": false,
                  "description": "Template for Kafka per-pod `Routes` used for access from outside of OpenShift.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "perPodService": {
                  "additionalProperties": false,
                  "description": "Template for Kafka per-pod `Services` used for access from outside of Kubernetes.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "persistentVolumeClaim": {
                  "additionalProperties": false,
                  "description": "Template for all Kafka `PersistentVolumeClaims`.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "pod": {
                  "additionalProperties": false,
                  "description": "Template for Kafka `Pods`.",
                  "properties": {
                    "affinity": {
                      "additionalProperties": false,
                      "description": "The pod's affinity rules.",
                      "properties": {
                        "nodeAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "preference": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "additionalProperties": false,
                              "properties": {
                                "nodeSelectorTerms": {
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": [
                                    "array",
                                    "null"
                                  ]
                                }
                              },
                              "type": [
                                "object",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAntiAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsConfig": {
                      "additionalProperties": false,
                      "description": "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy.",
                      "properties": {
                        "nameservers": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "options": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "searches": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsPolicy": {
                      "description": "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`.",
                      "enum": [
                        "ClusterFirst",
                        "ClusterFirstWithHostNet",
                        "Default",
                        "None"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "enableServiceLinks": {
                      "description": "Indicates whether information about services should be injected into Pod's environment variables.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "hostAliases": {
                      "description": "The pod's HostAliases. HostAliases is an optional list of hosts and IPs that will be injected into the Pod's hosts file if specified.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "hostnames": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "ip": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "hostUsers": {
                      "description": "Use the host user namespace. Optional. Defaults to `true`. When `true` or not set, the pod runs in the host user namespace. This is required when the pod needs features available only in the host namespace, such as loading kernel modules with `CAP_SYS_MODULE`.When set to `false`, the pod runs in a new user namespace. Setting `false` helps mitigate container breakout vulnerabilities and allows containers to run as `root` without granting `root` privileges on the host. This property is alpha-level in Kubernetes and is supported only by Kubernetes clusters that enable the `UserNamespacesSupport` feature.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "imagePullSecrets": {
                      "description": "List of references to secrets in the same namespace to use for pulling any of the images used by this Pod. When the `STRIMZI_IMAGE_PULL_SECRETS` environment variable in Cluster Operator and the `imagePullSecrets` option are specified, only the `imagePullSecrets` variable is used and the `STRIMZI_IMAGE_PULL_SECRETS` variable is ignored.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "priorityClassName": {
                      "description": "The name of the priority class used to assign priority to the pods. ",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "schedulerName": {
                      "description": "The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Configures pod-level security attributes and common container settings.",
                      "properties": {
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "fsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "fsGroupChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "supplementalGroups": {
                          "items": {
                            "type": "integer"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "supplementalGroupsPolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "sysctls": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "terminationGracePeriodSeconds": {
                      "description": "The grace period is the duration in seconds after the processes running in the pod are sent a termination signal, and the time when the processes are forcibly halted with a kill signal. Set this value to longer than the expected cleanup time for your process. Value must be a non-negative integer. A zero value indicates delete immediately. You might need to increase the grace period for very large Kafka clusters, so that the Kafka brokers have enough time to transfer their work to another broker before they are terminated. Defaults to 30 seconds.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "tmpDirSizeLimit": {
                      "description": "Defines the total amount of pod memory allocated for the temporary `EmptyDir` volume `/tmp`. Specify the allocation in memory units, for example, `100Mi` for 100 mebibytes. Default value is `5Mi`. The `/tmp` volume is backed by pod memory, not disk storage, so avoid setting a high value as it consumes pod memory resources.",
                      "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tolerations": {
                      "description": "The pod's tolerations.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "effect": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "key": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "operator": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tolerationSeconds": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "value": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "topologySpreadConstraints": {
                      "description": "The pod's topology spread constraints.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "labelSelector": {
                            "additionalProperties": false,
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "operator": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": [
                                        "array",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "maxSkew": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "minDomains": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "nodeAffinityPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "nodeTaintsPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "topologyKey": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "whenUnsatisfiable": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "volumes": {
                      "description": "Additional volumes that can be mounted to the pod.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "configMap": {},
                              "csi": {},
                              "emptyDir": {},
                              "image": {},
                              "persistentVolumeClaim": {},
                              "secret": {}
                            }
                          }
                        ],
                        "properties": {
                          "configMap": {
                            "additionalProperties": false,
                            "description": "`ConfigMap` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "csi": {
                            "additionalProperties": false,
                            "description": "`CSIVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "driver": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "fsType": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "nodePublishSecretRef": {
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "volumeAttributes": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "emptyDir": {
                            "additionalProperties": false,
                            "description": "`EmptyDir` to use to populate the volume.",
                            "properties": {
                              "medium": {
                                "description": "Medium represents the type of storage medium should back this volume. Valid values are unset or `Memory`. When not set, it will use the node's default medium.",
                                "enum": [
                                  "Memory"
                                ],
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "sizeLimit": {
                                "description": "The total amount of local storage required for this EmptyDir volume (for example 1Gi).",
                                "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "image": {
                            "additionalProperties": false,
                            "description": "`ImageVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "pullPolicy": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "reference": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "name": {
                            "description": "Name to use for the volume. Required.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "persistentVolumeClaim": {
                            "additionalProperties": false,
                            "description": "`PersistentVolumeClaim` object to use to populate the volume.",
                            "properties": {
                              "claimName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "secret": {
                            "additionalProperties": false,
                            "description": "`Secret` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "secretName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "podDisruptionBudget": {
                  "additionalProperties": false,
                  "description": "Template for Kafka `PodDisruptionBudget`.",
                  "properties": {
                    "maxUnavailable": {
                      "description": "Maximum number of unavailable pods to allow automatic Pod eviction. A Pod eviction is allowed when the `maxUnavailable` number of pods or fewer are unavailable after the eviction. Setting this value to 0 prevents all voluntary evictions, so the pods must be evicted manually. Defaults to 1.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata to apply to the `PodDisruptionBudgetTemplate` resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "podSet": {
                  "additionalProperties": false,
                  "description": "Template for Kafka `StrimziPodSet` resource.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "serviceAccount": {
                  "additionalProperties": false,
                  "description": "Template for the Kafka service account.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "tieredStorage": {
              "additionalProperties": false,
              "description": "Configure the tiered storage feature for Kafka brokers.",
              "properties": {
                "remoteStorageManager": {
                  "additionalProperties": false,
                  "description": "Configuration for the Remote Storage Manager.",
                  "properties": {
                    "className": {
                      "description": "The class name for the `RemoteStorageManager` implementation.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "classPath": {
                      "description": "The class path for the `RemoteStorageManager` implementation.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "config": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "The additional configuration map for the `RemoteStorageManager` implementation. Keys will be automatically prefixed with `rsm.config.`, and added to Kafka broker configuration.",
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "type": {
                  "description": "Storage type, only 'custom' is supported at the moment.",
                  "enum": [
                    "custom"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": [
                "object",
                "null"
              ]
            },
            "version": {
              "description": "The Kafka broker version. Defaults to the latest version. Consult the user documentation to understand the process required to upgrade or downgrade the version.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "listeners"
          ],
          "type": "object"
        },
        "kafkaExporter": {
          "additionalProperties": false,
          "description": "Configuration of the Kafka Exporter. Kafka Exporter can provide additional metrics, for example lag of consumer group at topic/partition.",
          "properties": {
            "enableSaramaLogging": {
              "description": "Enable Sarama logging, a Go client library used by the Kafka Exporter.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "groupExcludeRegex": {
              "description": "Regular expression to specify which consumer groups to exclude.",
              "type": [
                "string",
                "null"
              ]
            },
            "groupRegex": {
              "description": "Regular expression to specify which consumer groups to collect. Default value is `.*`.",
              "type": [
                "string",
                "null"
              ]
            },
            "image": {
              "description": "The container image used for the Kafka Exporter pods. If no image name is explicitly specified, the image name corresponds to the version specified in the Cluster Operator configuration. If an image name is not defined in the Cluster Operator configuration, a default value is used.",
              "type": [
                "string",
                "null"
              ]
            },
            "livenessProbe": {
              "additionalProperties": false,
              "description": "Pod liveness check.",
              "properties": {
                "failureThreshold": {
                  "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "initialDelaySeconds": {
                  "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "periodSeconds": {
                  "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "successThreshold": {
                  "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "timeoutSeconds": {
                  "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "logging": {
              "description": "Only log messages with the given severity or above. Valid levels: [`info`, `debug`, `trace`]. Default log level is `info`.",
              "type": [
                "string",
                "null"
              ]
            },
            "readinessProbe": {
              "additionalProperties": false,
              "description": "Pod readiness check.",
              "properties": {
                "failureThreshold": {
                  "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "initialDelaySeconds": {
                  "description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
                  "minimum": 0,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "periodSeconds": {
                  "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "successThreshold": {
                  "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "timeoutSeconds": {
                  "description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "resources": {
              "additionalProperties": false,
              "description": "CPU and memory resources to reserve.",
              "properties": {
                "claims": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "request": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                },
                "limits": {
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "type": "string"
                      },
                      {
                        "type": "integer"
                      }
                    ],
                    "x-kubernetes-int-or-string": true
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "type": "string"
                      },
                      {
                        "type": "integer"
                      }
                    ],
                    "x-kubernetes-int-or-string": true
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "showAllOffsets": {
              "description": "Whether show the offset/lag for all consumer group, otherwise, only show connected consumer groups.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "template": {
              "additionalProperties": false,
              "description": "Customization of deployment templates and pods.",
              "properties": {
                "container": {
                  "additionalProperties": false,
                  "description": "Template for the Kafka Exporter container.",
                  "properties": {
                    "env": {
                      "description": "Environment variables which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "value": {}
                            },
                            "required": [
                              "value"
                            ]
                          },
                          {
                            "properties": {
                              "valueFrom": {}
                            },
                            "required": [
                              "valueFrom"
                            ]
                          }
                        ],
                        "properties": {
                          "name": {
                            "description": "The environment variable key.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "value": {
                            "description": "The environment variable value.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "valueFrom": {
                            "additionalProperties": false,
                            "description": "Reference to the secret or config map property to which the environment variable is set.",
                            "oneOf": [
                              {
                                "properties": {
                                  "secretKeyRef": {}
                                },
                                "required": [
                                  "secretKeyRef"
                                ]
                              },
                              {
                                "properties": {
                                  "configMapKeyRef": {}
                                },
                                "required": [
                                  "configMapKeyRef"
                                ]
                              }
                            ],
                            "properties": {
                              "configMapKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a config map.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "secretKeyRef": {
                                "additionalProperties": false,
                                "description": "Reference to a key in a secret.",
                                "properties": {
                                  "key": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "optional": {
                                    "type": [
                                      "boolean",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Security context for the container.",
                      "properties": {
                        "allowPrivilegeEscalation": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "capabilities": {
                          "additionalProperties": false,
                          "properties": {
                            "add": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "drop": {
                              "items": {
                                "type": "string"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "privileged": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "procMount": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "readOnlyRootFilesystem": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "volumeMounts": {
                      "description": "Additional volume mounts which should be applied to the container.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "mountPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "mountPropagation": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "readOnly": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "recursiveReadOnly": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPath": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "subPathExpr": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "deployment": {
                  "additionalProperties": false,
                  "description": "Template for Kafka Exporter `Deployment`.",
                  "properties": {
                    "deploymentStrategy": {
                      "description": "Pod replacement strategy for deployment configuration changes. Valid values are `RollingUpdate` and `Recreate`. Defaults to `RollingUpdate`.",
                      "enum": [
                        "RollingUpdate",
                        "Recreate"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "pod": {
                  "additionalProperties": false,
                  "description": "Template for Kafka Exporter `Pods`.",
                  "properties": {
                    "affinity": {
                      "additionalProperties": false,
                      "description": "The pod's affinity rules.",
                      "properties": {
                        "nodeAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "preference": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "additionalProperties": false,
                              "properties": {
                                "nodeSelectorTerms": {
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchFields": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": [
                                    "array",
                                    "null"
                                  ]
                                }
                              },
                              "type": [
                                "object",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "podAntiAffinity": {
                          "additionalProperties": false,
                          "properties": {
                            "preferredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "podAffinityTerm": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "labelSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "namespaceSelector": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "additionalProperties": false,
                                              "properties": {
                                                "key": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "operator": {
                                                  "type": [
                                                    "string",
                                                    "null"
                                                  ]
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": [
                                                    "array",
                                                    "null"
                                                  ]
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": [
                                              "array",
                                              "null"
                                            ]
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": [
                                              "object",
                                              "null"
                                            ]
                                          }
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "topologyKey": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "weight": {
                                    "type": [
                                      "integer",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            },
                            "requiredDuringSchedulingIgnoredDuringExecution": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "labelSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "matchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "mismatchLabelKeys": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "namespaceSelector": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "matchExpressions": {
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "key": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "operator": {
                                              "type": [
                                                "string",
                                                "null"
                                              ]
                                            },
                                            "values": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": [
                                                "array",
                                                "null"
                                              ]
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": [
                                          "array",
                                          "null"
                                        ]
                                      },
                                      "matchLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": [
                                          "object",
                                          "null"
                                        ]
                                      }
                                    },
                                    "type": [
                                      "object",
                                      "null"
                                    ]
                                  },
                                  "namespaces": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": [
                                      "array",
                                      "null"
                                    ]
                                  },
                                  "topologyKey": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": "object"
                              },
                              "type": [
                                "array",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsConfig": {
                      "additionalProperties": false,
                      "description": "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy.",
                      "properties": {
                        "nameservers": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "options": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "searches": {
                          "items": {
                            "type": "string"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dnsPolicy": {
                      "description": "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`.",
                      "enum": [
                        "ClusterFirst",
                        "ClusterFirstWithHostNet",
                        "Default",
                        "None"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "enableServiceLinks": {
                      "description": "Indicates whether information about services should be injected into Pod's environment variables.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "hostAliases": {
                      "description": "The pod's HostAliases. HostAliases is an optional list of hosts and IPs that will be injected into the Pod's hosts file if specified.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "hostnames": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "ip": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "hostUsers": {
                      "description": "Use the host user namespace. Optional. Defaults to `true`. When `true` or not set, the pod runs in the host user namespace. This is required when the pod needs features available only in the host namespace, such as loading kernel modules with `CAP_SYS_MODULE`.When set to `false`, the pod runs in a new user namespace. Setting `false` helps mitigate container breakout vulnerabilities and allows containers to run as `root` without granting `root` privileges on the host. This property is alpha-level in Kubernetes and is supported only by Kubernetes clusters that enable the `UserNamespacesSupport` feature.",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "imagePullSecrets": {
                      "description": "List of references to secrets in the same namespace to use for pulling any of the images used by this Pod. When the `STRIMZI_IMAGE_PULL_SECRETS` environment variable in Cluster Operator and the `imagePullSecrets` option are specified, only the `imagePullSecrets` variable is used and the `STRIMZI_IMAGE_PULL_SECRETS` variable is ignored.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "priorityClassName": {
                      "description": "The name of the priority class used to assign priority to the pods. ",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "schedulerName": {
                      "description": "The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "securityContext": {
                      "additionalProperties": false,
                      "description": "Configures pod-level security attributes and common container settings.",
                      "properties": {
                        "appArmorProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "fsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "fsGroupChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "runAsGroup": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "runAsNonRoot": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        },
                        "runAsUser": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "seLinuxChangePolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "seLinuxOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "level": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "role": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "user": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "seccompProfile": {
                          "additionalProperties": false,
                          "properties": {
                            "localhostProfile": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "supplementalGroups": {
                          "items": {
                            "type": "integer"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "supplementalGroupsPolicy": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "sysctls": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "value": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "type": [
                            "array",
                            "null"
                          ]
                        },
                        "windowsOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "gmsaCredentialSpec": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "gmsaCredentialSpecName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "hostProcess": {
                              "type": [
                                "boolean",
                                "null"
                              ]
                            },
                            "runAsUserName": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "terminationGracePeriodSeconds": {
                      "description": "The grace period is the duration in seconds after the processes running in the pod are sent a termination signal, and the time when the processes are forcibly halted with a kill signal. Set this value to longer than the expected cleanup time for your process. Value must be a non-negative integer. A zero value indicates delete immediately. You might need to increase the grace period for very large Kafka clusters, so that the Kafka brokers have enough time to transfer their work to another broker before they are terminated. Defaults to 30 seconds.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "tmpDirSizeLimit": {
                      "description": "Defines the total amount of pod memory allocated for the temporary `EmptyDir` volume `/tmp`. Specify the allocation in memory units, for example, `100Mi` for 100 mebibytes. Default value is `5Mi`. The `/tmp` volume is backed by pod memory, not disk storage, so avoid setting a high value as it consumes pod memory resources.",
                      "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tolerations": {
                      "description": "The pod's tolerations.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "effect": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "key": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "operator": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tolerationSeconds": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "value": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "topologySpreadConstraints": {
                      "description": "The pod's topology spread constraints.",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "labelSelector": {
                            "additionalProperties": false,
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "operator": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": [
                                        "array",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": [
                              "array",
                              "null"
                            ]
                          },
                          "maxSkew": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "minDomains": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "nodeAffinityPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "nodeTaintsPolicy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "topologyKey": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "whenUnsatisfiable": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "volumes": {
                      "description": "Additional volumes that can be mounted to the pod.",
                      "items": {
                        "additionalProperties": false,
                        "oneOf": [
                          {
                            "properties": {
                              "configMap": {},
                              "csi": {},
                              "emptyDir": {},
                              "image": {},
                              "persistentVolumeClaim": {},
                              "secret": {}
                            }
                          }
                        ],
                        "properties": {
                          "configMap": {
                            "additionalProperties": false,
                            "description": "`ConfigMap` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "csi": {
                            "additionalProperties": false,
                            "description": "`CSIVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "driver": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "fsType": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "nodePublishSecretRef": {
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "volumeAttributes": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "emptyDir": {
                            "additionalProperties": false,
                            "description": "`EmptyDir` to use to populate the volume.",
                            "properties": {
                              "medium": {
                                "description": "Medium represents the type of storage medium should back this volume. Valid values are unset or `Memory`. When not set, it will use the node's default medium.",
                                "enum": [
                                  "Memory"
                                ],
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "sizeLimit": {
                                "description": "The total amount of local storage required for this EmptyDir volume (for example 1Gi).",
                                "pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "image": {
                            "additionalProperties": false,
                            "description": "`ImageVolumeSource` object to use to populate the volume.",
                            "properties": {
                              "pullPolicy": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "reference": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "name": {
                            "description": "Name to use for the volume. Required.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "persistentVolumeClaim": {
                            "additionalProperties": false,
                            "description": "`PersistentVolumeClaim` object to use to populate the volume.",
                            "properties": {
                              "claimName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "readOnly": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "secret": {
                            "additionalProperties": false,
                            "description": "`Secret` to use to populate the volume.",
                            "properties": {
                              "defaultMode": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "items": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "mode": {
                                      "type": [
                                        "integer",
                                        "null"
                                      ]
                                    },
                                    "path": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": [
                                  "array",
                                  "null"
                                ]
                              },
                              "optional": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "secretName": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "podDisruptionBudget": {
                  "additionalProperties": false,
                  "description": "Template for the Pod Disruption Budget for Kafka Exporter pods.",
                  "properties": {
                    "maxUnavailable": {
                      "description": "Maximum number of unavailable pods to allow automatic Pod eviction. A Pod eviction is allowed when the `maxUnavailable` number of pods or fewer are unavailable after the eviction. Setting this value to 0 prevents all voluntary evictions, so the pods must be evicted manually. Defaults to 1.",
                      "minimum": 0,
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata to apply to the `PodDisruptionBudgetTemplate` resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "serviceAccount": {
                  "additionalProperties": false,
                  "description": "Template for the Kafka Exporter service account.",
                  "properties": {
                    "metadata": {
                      "additionalProperties": false,
                      "description": "Metadata applied to the resource.",
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Annotations added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Labels added to the Kubernetes resource.",
                          "type": [
                            "object",
                            "null"
                          ]
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "topicExcludeRegex": {
              "description": "Regular expression to specify which topics to exclude.",
              "type": [
                "string",
                "null"
              ]
            },
            "topicRegex": {
              "description": "Regular expression to specify which topics to collect. Default value is `.*`.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "maintenanceTimeWindows": {
          "description": "A list of time windows for maintenance tasks (that is, certificates renewal). Each time window is defined by a cron expression.",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "required": [
        "kafka"
      ],
      "type": "object"
    },
    "status": {
      "additionalProperties": false,
      "description": "The status of the Kafka cluster.",
      "properties": {
        "autoRebalance": {
          "additionalProperties": false,
          "description": "The status of an auto-rebalancing triggered by a cluster scaling request.",
          "properties": {
            "lastTransitionTime": {
              "description": "The timestamp of the latest auto-rebalancing state update.",
              "type": [
                "string",
                "null"
              ]
            },
            "modes": {
              "description": "List of modes where an auto-rebalancing operation is either running or queued. \nEach mode entry (`add-brokers` or `remove-brokers`) includes one of the following: \n\n* Broker IDs for a current auto-rebalance. \n* Broker IDs for a queued auto-rebalance (if a previous rebalance is still in progress).",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "brokers": {
                    "description": "List of broker IDs involved in an auto-rebalancing operation related to the current mode. \nThe list contains one of the following: \n\n* Broker IDs for a current auto-rebalance. \n* Broker IDs for a queued auto-rebalance (if a previous auto-rebalance is still in progress). \n",
                    "items": {
                      "type": "integer"
                    },
                    "type": [
                      "array",
                      "null"
                    ]
                  },
                  "mode": {
                    "description": "Mode for which there is an auto-rebalancing operation in progress or queued, when brokers are added or removed. The possible modes are `add-brokers` and `remove-brokers`.",
                    "enum": [
                      "add-brokers",
                      "remove-brokers"
                    ],
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "state": {
              "description": "The current state of an auto-rebalancing operation. Possible values are: \n\n* `Idle` as the initial state when an auto-rebalancing is requested or as final state when it completes or fails.\n* `RebalanceOnScaleDown` if an auto-rebalance related to a scale-down operation is running.\n* `RebalanceOnScaleUp` if an auto-rebalance related to a scale-up operation is running.",
              "enum": [
                "Idle",
                "RebalanceOnScaleDown",
                "RebalanceOnScaleUp"
              ],
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "clusterId": {
          "description": "Kafka cluster Id.",
          "type": [
            "string",
            "null"
          ]
        },
        "conditions": {
          "description": "List of status conditions.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "lastTransitionTime": {
                "description": "Last time the condition of a type changed from one status to another. The required format is 'yyyy-MM-ddTHH:mm:ssZ', in the UTC time zone.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "description": "Human-readable message indicating details about the condition's last transition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "reason": {
                "description": "The reason for the condition's last transition (a single word in CamelCase).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "description": "The status of the condition, either True, False or Unknown.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "description": "The unique identifier of a condition, used to distinguish between other conditions in the resource.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "kafkaMetadataVersion": {
          "description": "The KRaft metadata.version currently used by the Kafka cluster.",
          "type": [
            "string",
            "null"
          ]
        },
        "kafkaNodePools": {
          "description": "List of the KafkaNodePools used by this Kafka cluster.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "description": "The name of the KafkaNodePool used by this Kafka resource.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "kafkaVersion": {
          "description": "The version of Kafka currently deployed in the cluster.",
          "type": [
            "string",
            "null"
          ]
        },
        "listeners": {
          "description": "Addresses of the internal and external listeners.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "addresses": {
                "description": "A list of the addresses for this listener.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "host": {
                      "description": "The DNS name or IP address of the Kafka bootstrap service.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "port": {
                      "description": "The port of the Kafka bootstrap service.",
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "type": [
                  "array",
                  "null"
                ]
              },
              "bootstrapServers": {
                "description": "A comma-separated list of `host:port` pairs for connecting to the Kafka cluster using this listener.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "certificates": {
                "description": "A list of TLS certificates which can be used to verify the identity of the server when connecting to the given listener. Set only for `tls` and `external` listeners.",
                "items": {
                  "type": "string"
                },
                "type": [
                  "array",
                  "null"
                ]
              },
              "name": {
                "description": "The name of the listener.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "observedGeneration": {
          "description": "The generation of the CRD that was last reconciled by the operator.",
          "type": [
            "integer",
            "null"
          ]
        },
        "operatorLastSuccessfulVersion": {
          "description": "The version of the Strimzi Cluster Operator which performed the last successful reconciliation.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}