diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/Chart.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/Chart.yaml index f6974bed..b7478a90 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/Chart.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 0.45.0 +appVersion: 0.46.0 description: 'Strimzi: Apache Kafka running on Kubernetes' home: https://strimzi.io/ icon: https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/main/documentation/logo/strimzi_logo.png @@ -24,4 +24,4 @@ maintainers: name: strimzi-kafka-operator sources: - https://github.com/strimzi/strimzi-kafka-operator -version: 0.45.0 +version: 0.46.0 diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/README.md b/packages/system/kafka-operator/charts/strimzi-kafka-operator/README.md index e66e9fd7..6d854cf4 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/README.md +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/README.md @@ -6,14 +6,12 @@ See our [website](https://strimzi.io) for more details about the project. **!!! IMPORTANT !!!** -* **Strimzi 0.45 is the last Strimzi version with support for ZooKeeper-based Apache Kafka clusters and MirrorMaker 1 deployments.** - **Please make sure to [migrate to KRaft](https://strimzi.io/docs/operators/latest/full/deploying.html#assembly-kraft-mode-str) and MirrorMaker 2 before upgrading to Strimzi 0.46 or newer.** -* Strimzi 0.45 is the last Strimzi version to include the [Strimzi EnvVar Configuration Provider](https://github.com/strimzi/kafka-env-var-config-provider) (deprecated in Strimzi 0.38.0) and [Strimzi MirrorMaker 2 Extensions](https://github.com/strimzi/mirror-maker-2-extensions) (deprecated in Strimzi 0.28.0). +* **Support for ZooKeeper-based clusters and for migration from ZooKeeper-based clusters to KRaft has been removed.** + **Please make sure all your clusters are using KRaft before upgrading to Strimzi 0.46.0 or newer!** +* Support for MirrorMaker 1 has been removed. + Please make sure to migrate to MirrorMaker 2 before upgrading to Strimzi 0.46 or newer. +* [Strimzi EnvVar Configuration Provider](https://github.com/strimzi/kafka-env-var-config-provider) (deprecated in Strimzi 0.38.0) and [Strimzi MirrorMaker 2 Extensions](https://github.com/strimzi/mirror-maker-2-extensions) (deprecated in Strimzi 0.28.0) plugins were removed from Strimzi container images. Please use the Apache Kafka [EnvVarConfigProvider](https://github.com/strimzi/kafka-env-var-config-provider?tab=readme-ov-file#deprecation-notice) and [Identity Replication Policy](https://github.com/strimzi/mirror-maker-2-extensions?tab=readme-ov-file#identity-replication-policy) instead. -* From Strimzi 0.44.0 on, we support only Kubernetes 1.25 and newer. - Kubernetes 1.23 and 1.24 are not supported anymore. -* Upgrading to Strimzi 0.32 and newer directly from Strimzi 0.22 and earlier is no longer possible. - Please follow the [documentation](https://strimzi.io/docs/operators/latest/full/deploying.html#assembly-upgrade-str) for more details. ## Introduction @@ -40,9 +38,14 @@ cluster using the [Helm](https://helm.sh) package manager. ### Upgrading your Clusters To upgrade the Strimzi operator, you can use the `helm upgrade` command. -The `helm upgrade` command does not upgrade the [Custom Resource Definitions](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/). -Install the new CRDs manually after upgrading the Cluster Operator. +**The `helm upgrade` command does not upgrade the [Custom Resource Definitions](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/).** +**Update the CRDs manually after upgrading the Cluster Operator.** You can access the CRDs from our [GitHub release page](https://github.com/strimzi/strimzi-kafka-operator/releases) or find them in the `crd` subdirectory inside the Helm Chart. +For example, when upgrading to Strimzi 0.46.0, you can do: + +```bash +kubectl apply -f https://github.com/strimzi/strimzi-kafka-operator/releases/download/0.46.0/strimzi-crds-0.46.0.yaml +``` The Strimzi Operator understands how to run and upgrade between a set of Kafka versions. When specifying a new version in your config, check to make sure you aren't using any features that may have been removed. @@ -72,7 +75,7 @@ Strimzi is licensed under the [Apache License, Version 2.0](https://github.com/s To install the chart with the release name `my-strimzi-cluster-operator`: ```bash -$ helm install my-strimzi-cluster-operator oci://quay.io/strimzi-helm/strimzi-kafka-operator +helm install my-strimzi-cluster-operator oci://quay.io/strimzi-helm/strimzi-kafka-operator ``` The command deploys the Strimzi Cluster Operator on the Kubernetes cluster with the default configuration. @@ -83,7 +86,7 @@ The [configuration](#configuration) section lists the parameters that can be con To uninstall/delete the `my-strimzi-cluster-operator` deployment: ```bash -$ helm delete my-strimzi-cluster-operator +helm delete my-strimzi-cluster-operator ``` The command removes all the Kubernetes components associated with the operator and deletes the release. @@ -102,10 +105,10 @@ the documentation for more details. | `watchAnyNamespace` | Watch the whole Kubernetes cluster (all namespaces) | `false` | | `defaultImageRegistry` | Default image registry for all the images | `quay.io` | | `defaultImageRepository` | Default image registry for all the images | `strimzi` | -| `defaultImageTag` | Default image tag for all the images except Kafka Bridge | `0.45.0` | +| `defaultImageTag` | Default image tag for all the images except Kafka Bridge | `0.46.0` | | `image.registry` | Override default Cluster Operator image registry | `nil` | | `image.repository` | Override default Cluster Operator image repository | `nil` | -| `image.name` | Cluster Operator image name | `cluster-operator` | +| `image.name` | Cluster Operator image name | `operator` | | `image.tag` | Override default Cluster Operator image tag | `nil` | | `image.digest` | Override Cluster Operator image tag with digest | `nil` | | `image.imagePullPolicy` | Image pull policy for all pods deployed by Cluster Operator | `IfNotPresent` | @@ -136,12 +139,6 @@ the documentation for more details. | `kafkaConnect.image.tagPrefix` | Override default Kafka Connect image tag prefix | `nil` | | `kafkaConnect.image.tag` | Override default Kafka Connect image tag and ignore suffix | `nil` | | `kafkaConnect.image.digest` | Override Kafka Connect image tag with digest | `nil` | -| `kafkaMirrorMaker.image.registry` | Override default Kafka Mirror Maker image registry | `nil` | -| `kafkaMirrorMaker.image.repository` | Override default Kafka Mirror Maker image repository | `nil` | -| `kafkaMirrorMaker.image.name` | Kafka Mirror Maker image name | `kafka` | -| `kafkaMirrorMaker.image.tagPrefix` | Override default Kafka Mirror Maker image tag prefix | `nil` | -| `kafkaMirrorMaker.image.tag` | Override default Kafka Mirror Maker image tag and ignore suffix | `nil` | -| `kafkaMirrorMaker.image.digest` | Override Kafka Mirror Maker image tag with digest | `nil` | | `cruiseControl.image.registry` | Override default Cruise Control image registry | `nil` | | `cruiseControl.image.repository` | Override default Cruise Control image repository | `nil` | | `cruiseControl.image.name` | Cruise Control image name | `kafka` | @@ -166,7 +163,7 @@ the documentation for more details. | `kafkaBridge.image.registry` | Override default Kafka Bridge image registry | `quay.io` | | `kafkaBridge.image.repository` | Override default Kafka Bridge image repository | `strimzi` | | `kafkaBridge.image.name` | Kafka Bridge image name | `kafka-bridge` | -| `kafkaBridge.image.tag` | Override default Kafka Bridge image tag | `0.31.1` | +| `kafkaBridge.image.tag` | Override default Kafka Bridge image tag | `0.32.0` | | `kafkaBridge.image.digest` | Override Kafka Bridge image tag with digest | `nil` | | `kafkaExporter.image.registry` | Override default Kafka Exporter image registry | `nil` | | `kafkaExporter.image.repository` | Override default Kafka Exporter image repository | `nil` | @@ -222,5 +219,5 @@ the documentation for more details. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```bash -$ helm install my-strimzi-cluster-operator --set replicas=2 oci://quay.io/strimzi-helm/strimzi-kafka-operator +helm install my-strimzi-cluster-operator --set replicas=2 oci://quay.io/strimzi-helm/strimzi-kafka-operator ``` diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/040-Crd-kafka.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/040-Crd-kafka.yaml index a5d0bb9e..23bc2274 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/040-Crd-kafka.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/040-Crd-kafka.yaml @@ -27,14 +27,6 @@ spec: subresources: status: {} additionalPrinterColumns: - - name: Desired Kafka replicas - description: The desired number of Kafka replicas in the cluster - jsonPath: .spec.kafka.replicas - type: integer - - name: Desired ZK replicas - description: The desired number of ZooKeeper replicas in the cluster - jsonPath: .spec.zookeeper.replicas - type: integer - name: Ready description: The state of the custom resource jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" @@ -74,7 +66,7 @@ spec: replicas: type: integer minimum: 1 - description: The number of pods in the cluster. This property is required when node pools are not used. + description: Replicas are now configured in `KafkaNodePool` resources and this option is ignored. image: type: string 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. " @@ -587,7 +579,7 @@ spec: broker: type: integer description: Id of the kafka broker (broker identifier). - description: Overrides for individual brokers. The `overrides` field allows you to specify a different configuration for different brokers. + description: "As of Strimzi 0.46.0, the storage overrides for individual brokers are not supported anymore and this option is ignored." selector: additionalProperties: type: string @@ -638,7 +630,7 @@ spec: broker: type: integer description: Id of the kafka broker (broker identifier). - description: Overrides for individual brokers. The `overrides` field allows you to specify a different configuration for different brokers. + description: "As of Strimzi 0.46.0, the storage overrides for individual brokers are not supported anymore and this option is ignored." selector: additionalProperties: type: string @@ -662,7 +654,7 @@ spec: description: List of volumes as Storage objects representing the JBOD disks array. required: - type - description: Storage configuration (disk). Cannot be updated. This property is required when node pools are not used. + description: Storage is now configured in the `KafkaNodePool` resources and this option is ignored. authorization: type: object properties: @@ -771,7 +763,7 @@ spec: - opa - keycloak - custom - 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." + 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. As of Strimzi 0.46.0, `opa` type is deprecated and will be removed in the future. Please use `custom` type instead." url: type: string example: http://opa:8181/v1/data/kafka/authz/allow @@ -897,6 +889,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -1043,6 +1037,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -1065,6 +1061,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -1495,6 +1493,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -2302,7 +2329,7 @@ spec: broker: type: integer description: Id of the kafka broker (broker identifier). - description: Overrides for individual brokers. The `overrides` field allows you to specify a different configuration for different brokers. + description: "As of Strimzi 0.46.0, the storage overrides for individual brokers are not supported anymore and this option is ignored." selector: additionalProperties: type: string @@ -2433,6 +2460,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -2597,6 +2626,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -2619,6 +2650,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -3049,6 +3082,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -3444,7 +3506,7 @@ spec: required: - replicas - storage - description: Configuration of the ZooKeeper cluster. This section is required when running a ZooKeeper-based Apache Kafka cluster. + description: "As of Strimzi 0.46.0, ZooKeeper-based Apache Kafka clusters are not supported anymore and this option is ignored." entityOperator: type: object properties: @@ -3551,6 +3613,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -3718,6 +3782,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -3815,6 +3881,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -3965,6 +4033,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -3987,6 +4057,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -4417,6 +4489,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -5096,6 +5197,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -5184,6 +5287,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -5384,6 +5489,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -5406,6 +5513,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -5836,6 +5945,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -6501,6 +6639,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -6590,6 +6730,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -6612,6 +6754,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -7042,6 +7186,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -7342,6 +7515,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -7488,6 +7663,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -7510,6 +7687,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -7940,6 +8119,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -8234,7 +8442,7 @@ spec: description: "A list of time windows for maintenance tasks (that is, certificates renewal). Each time window is defined by a cron expression." required: - kafka - description: "The specification of the Kafka and ZooKeeper clusters, and Topic Operator." + description: The specification of the Kafka cluster. status: type: object properties: @@ -8329,7 +8537,7 @@ spec: - KRaftPostMigration - PreKRaft - KRaft - description: "Defines where cluster metadata are stored. Possible values are: ZooKeeper if the metadata are stored in ZooKeeper; KRaftMigration if the controllers are connected to ZooKeeper, brokers are being rolled with Zookeeper migration enabled and connection information to controllers, and the metadata migration process is running; KRaftDualWriting if the metadata migration process finished and the cluster is in dual-write mode; KRaftPostMigration if the brokers are fully KRaft-based but controllers being rolled to disconnect from ZooKeeper; PreKRaft if brokers and controller are fully KRaft-based, metadata are stored in KRaft, but ZooKeeper must be deleted; KRaft if the metadata are stored in KRaft." + description: "Defines where cluster metadata are stored. Since Kafka KRaft has been fully adopted, the only applicable value is `KRaft`." autoRebalance: type: object properties: @@ -8361,4 +8569,4 @@ spec: 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" 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)." description: The status of an auto-rebalancing triggered by a cluster scaling request. - description: "The status of the Kafka and ZooKeeper clusters, and Topic Operator." + description: The status of the Kafka cluster. diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml index 66182007..10ed4592 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml @@ -289,6 +289,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -573,6 +575,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -595,6 +599,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -1025,6 +1031,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -1586,6 +1621,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -1608,6 +1645,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -2038,6 +2077,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -2466,7 +2534,7 @@ spec: type: array items: type: string - description: "Configures additional options which will be passed to the Kaniko executor when building the new Connect image. Allowed options are: --customPlatform, --custom-platform, --insecure, --insecure-pull, --insecure-registry, --log-format, --log-timestamp, --registry-mirror, --reproducible, --single-snapshot, --skip-tls-verify, --skip-tls-verify-pull, --skip-tls-verify-registry, --verbosity, --snapshotMode, --use-new-run, --registry-certificate, --registry-client-cert. These options will be used only on Kubernetes where the Kaniko executor is used. They will be ignored on OpenShift. The options are described in the link:https://github.com/GoogleContainerTools/kaniko[Kaniko GitHub repository^]. Changing this field does not trigger new build of the Kafka Connect image." + description: "Configures additional options which will be passed to the Kaniko executor when building the new Connect image. Allowed options are: --customPlatform, --custom-platform, --insecure, --insecure-pull, --insecure-registry, --log-format, --log-timestamp, --registry-mirror, --reproducible, --single-snapshot, --skip-tls-verify, --skip-tls-verify-pull, --skip-tls-verify-registry, --verbosity, --snapshotMode, --use-new-run, --registry-certificate, --registry-client-cert, --ignore-path. These options will be used only on Kubernetes where the Kaniko executor is used. They will be ignored on OpenShift. The options are described in the link:https://github.com/GoogleContainerTools/kaniko[Kaniko GitHub repository^]. Changing this field does not trigger new build of the Kafka Connect image." image: type: string description: The name of the image which will be built. Required. @@ -2548,6 +2616,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/044-Crd-kafkauser.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/044-Crd-kafkauser.yaml index 9f015abf..5b8595e4 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/044-Crd-kafkauser.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/044-Crd-kafkauser.yaml @@ -104,7 +104,7 @@ spec: enum: - allow - deny - description: The type of the rule. Currently the only supported type is `allow`. ACL rules with type `allow` are used to allow user to execute the specified operations. Default value is `allow`. + description: The type of the rule. ACL rules with type `allow` are used to allow user to execute the specified operations. ACL rules with type `deny` are used to deny user to execute the specified operations. Default value is `allow`. resource: type: object properties: @@ -335,7 +335,7 @@ spec: enum: - allow - deny - description: The type of the rule. Currently the only supported type is `allow`. ACL rules with type `allow` are used to allow user to execute the specified operations. Default value is `allow`. + description: The type of the rule. ACL rules with type `allow` are used to allow user to execute the specified operations. ACL rules with type `deny` are used to deny user to execute the specified operations. Default value is `allow`. resource: type: object properties: @@ -566,7 +566,7 @@ spec: enum: - allow - deny - description: The type of the rule. Currently the only supported type is `allow`. ACL rules with type `allow` are used to allow user to execute the specified operations. Default value is `allow`. + description: The type of the rule. ACL rules with type `allow` are used to allow user to execute the specified operations. ACL rules with type `deny` are used to deny user to execute the specified operations. Default value is `allow`. resource: type: object properties: diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/045-Crd-kafkamirrormaker.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/045-Crd-kafkamirrormaker.yaml deleted file mode 100644 index 1e6d6ce4..00000000 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/045-Crd-kafkamirrormaker.yaml +++ /dev/null @@ -1,1578 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: kafkamirrormakers.kafka.strimzi.io - labels: - app: strimzi - strimzi.io/crd-install: "true" - component: kafkamirrormakers.kafka.strimzi.io-crd -spec: - group: kafka.strimzi.io - names: - kind: KafkaMirrorMaker - listKind: KafkaMirrorMakerList - singular: kafkamirrormaker - plural: kafkamirrormakers - shortNames: - - kmm - categories: - - strimzi - scope: Namespaced - conversion: - strategy: None - versions: - - name: v1beta2 - served: true - storage: true - subresources: - status: {} - scale: - specReplicasPath: .spec.replicas - statusReplicasPath: .status.replicas - labelSelectorPath: .status.labelSelector - additionalPrinterColumns: - - name: Desired replicas - description: The desired number of Kafka MirrorMaker replicas - jsonPath: .spec.replicas - type: integer - - name: Consumer Bootstrap Servers - description: The boostrap servers for the consumer - jsonPath: .spec.consumer.bootstrapServers - type: string - priority: 1 - - name: Producer Bootstrap Servers - description: The boostrap servers for the producer - jsonPath: .spec.producer.bootstrapServers - type: string - priority: 1 - - name: Ready - description: The state of the custom resource - jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" - type: string - schema: - openAPIV3Schema: - type: object - properties: - apiVersion: - type: string - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - kind: - type: string - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - metadata: - type: object - spec: - type: object - properties: - version: - type: string - description: The Kafka MirrorMaker version. Defaults to the latest version. Consult the documentation to understand the process required to upgrade or downgrade the version. - replicas: - type: integer - minimum: 0 - description: The number of pods in the `Deployment`. - image: - type: string - description: "The container image used for Kafka MirrorMaker pods. If no image name is explicitly specified, it is determined based on the `spec.version` configuration. The image names are specifically mapped to corresponding versions in the Cluster Operator configuration." - consumer: - type: object - properties: - numStreams: - type: integer - minimum: 1 - description: Specifies the number of consumer stream threads to create. - offsetCommitInterval: - type: integer - description: Specifies the offset auto-commit interval in ms. Default value is 60000. - bootstrapServers: - type: string - description: A list of host:port pairs for establishing the initial connection to the Kafka cluster. - groupId: - type: string - description: A unique string that identifies the consumer group this consumer belongs to. - authentication: - type: object - properties: - accessToken: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes Secret containing the access token which was obtained from the authorization server. - accessTokenIsJwt: - type: boolean - description: Configure whether access token should be treated as JWT. This should be set to `false` if the authorization server returns opaque tokens. Defaults to `true`. - accessTokenLocation: - type: string - description: Path to the token file containing an access token to be used for authentication. - audience: - type: string - description: "OAuth audience to use when authenticating against the authorization server. Some authorization servers require the audience to be explicitly set. The possible values depend on how the authorization server is configured. By default, `audience` is not specified when performing the token endpoint request." - certificateAndKey: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the certificate. - certificate: - type: string - description: The name of the file certificate in the Secret. - key: - type: string - description: The name of the private key in the Secret. - required: - - secretName - - certificate - - key - description: Reference to the `Secret` which holds the certificate and private key pair. - clientAssertion: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes secret containing the client assertion which was manually configured for the client. - clientAssertionLocation: - type: string - description: Path to the file containing the client assertion to be used for authentication. - clientAssertionType: - type: string - description: "The client assertion type. If not set, and either `clientAssertion` or `clientAssertionLocation` is configured, this value defaults to `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`." - clientId: - type: string - description: OAuth Client ID which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI. - clientSecret: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes Secret containing the OAuth client secret which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI. - connectTimeoutSeconds: - type: integer - description: "The connect timeout in seconds when connecting to authorization server. If not set, the effective connect timeout is 60 seconds." - disableTlsHostnameVerification: - type: boolean - description: Enable or disable TLS hostname verification. Default value is `false`. - enableMetrics: - type: boolean - description: Enable or disable OAuth metrics. Default value is `false`. - httpRetries: - type: integer - description: "The maximum number of retries to attempt if an initial HTTP request fails. If not set, the default is to not attempt any retries." - httpRetryPauseMs: - type: integer - description: "The pause to take before retrying a failed HTTP request. If not set, the default is to not pause at all but to immediately repeat a request." - includeAcceptHeader: - type: boolean - description: Whether the Accept header should be set in requests to the authorization servers. The default value is `true`. - maxTokenExpirySeconds: - type: integer - description: Set or limit time-to-live of the access tokens to the specified number of seconds. This should be set if the authorization server returns opaque tokens. - passwordSecret: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the password. - password: - type: string - description: The name of the key in the Secret under which the password is stored. - required: - - secretName - - password - description: Reference to the `Secret` which holds the password. - readTimeoutSeconds: - type: integer - description: "The read timeout in seconds when connecting to authorization server. If not set, the effective read timeout is 60 seconds." - refreshToken: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes Secret containing the refresh token which can be used to obtain access token from the authorization server. - saslExtensions: - additionalProperties: - type: string - type: object - description: SASL extensions parameters. - scope: - type: string - description: OAuth scope to use when authenticating against the authorization server. Some authorization servers require this to be set. The possible values depend on how authorization server is configured. By default `scope` is not specified when doing the token endpoint request. - tlsTrustedCertificates: - type: array - items: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the certificate. - certificate: - type: string - description: The name of the file certificate in the secret. - pattern: - type: string - description: "Pattern for the certificate files in the secret. Use the link:https://en.wikipedia.org/wiki/Glob_(programming)[_glob syntax_] for the pattern. All files in the secret that match the pattern are used." - oneOf: - - properties: - certificate: {} - required: - - certificate - - properties: - pattern: {} - required: - - pattern - required: - - secretName - description: Trusted certificates for TLS connection to the OAuth server. - tokenEndpointUri: - type: string - description: Authorization server token endpoint URI. - type: - type: string - enum: - - tls - - scram-sha-256 - - scram-sha-512 - - plain - - oauth - description: "Authentication type. Currently the supported types are `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, and 'oauth'. `scram-sha-256` and `scram-sha-512` types use SASL SCRAM-SHA-256 and SASL SCRAM-SHA-512 Authentication, respectively. `plain` type uses SASL PLAIN Authentication. `oauth` type uses SASL OAUTHBEARER Authentication. The `tls` type uses TLS Client Authentication. The `tls` type is supported only over TLS connections." - username: - type: string - description: Username used for the authentication. - required: - - type - description: Authentication configuration for connecting to the cluster. - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the certificate. - certificate: - type: string - description: The name of the file certificate in the secret. - pattern: - type: string - description: "Pattern for the certificate files in the secret. Use the link:https://en.wikipedia.org/wiki/Glob_(programming)[_glob syntax_] for the pattern. All files in the secret that match the pattern are used." - oneOf: - - properties: - certificate: {} - required: - - certificate - - properties: - pattern: {} - required: - - pattern - required: - - secretName - description: Trusted certificates for TLS connection. - description: TLS configuration for connecting MirrorMaker to the cluster. - config: - x-kubernetes-preserve-unknown-fields: true - type: object - description: "The MirrorMaker consumer config. Properties with the following prefixes cannot be set: ssl., bootstrap.servers, group.id, sasl., security., interceptor.classes (with the exception of: ssl.endpoint.identification.algorithm, ssl.cipher.suites, ssl.protocol, ssl.enabled.protocols)." - required: - - bootstrapServers - - groupId - description: Configuration of source cluster. - producer: - type: object - properties: - bootstrapServers: - type: string - description: A list of host:port pairs for establishing the initial connection to the Kafka cluster. - abortOnSendFailure: - type: boolean - description: Flag to set the MirrorMaker to exit on a failed send. Default value is `true`. - authentication: - type: object - properties: - accessToken: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes Secret containing the access token which was obtained from the authorization server. - accessTokenIsJwt: - type: boolean - description: Configure whether access token should be treated as JWT. This should be set to `false` if the authorization server returns opaque tokens. Defaults to `true`. - accessTokenLocation: - type: string - description: Path to the token file containing an access token to be used for authentication. - audience: - type: string - description: "OAuth audience to use when authenticating against the authorization server. Some authorization servers require the audience to be explicitly set. The possible values depend on how the authorization server is configured. By default, `audience` is not specified when performing the token endpoint request." - certificateAndKey: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the certificate. - certificate: - type: string - description: The name of the file certificate in the Secret. - key: - type: string - description: The name of the private key in the Secret. - required: - - secretName - - certificate - - key - description: Reference to the `Secret` which holds the certificate and private key pair. - clientAssertion: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes secret containing the client assertion which was manually configured for the client. - clientAssertionLocation: - type: string - description: Path to the file containing the client assertion to be used for authentication. - clientAssertionType: - type: string - description: "The client assertion type. If not set, and either `clientAssertion` or `clientAssertionLocation` is configured, this value defaults to `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`." - clientId: - type: string - description: OAuth Client ID which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI. - clientSecret: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes Secret containing the OAuth client secret which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI. - connectTimeoutSeconds: - type: integer - description: "The connect timeout in seconds when connecting to authorization server. If not set, the effective connect timeout is 60 seconds." - disableTlsHostnameVerification: - type: boolean - description: Enable or disable TLS hostname verification. Default value is `false`. - enableMetrics: - type: boolean - description: Enable or disable OAuth metrics. Default value is `false`. - httpRetries: - type: integer - description: "The maximum number of retries to attempt if an initial HTTP request fails. If not set, the default is to not attempt any retries." - httpRetryPauseMs: - type: integer - description: "The pause to take before retrying a failed HTTP request. If not set, the default is to not pause at all but to immediately repeat a request." - includeAcceptHeader: - type: boolean - description: Whether the Accept header should be set in requests to the authorization servers. The default value is `true`. - maxTokenExpirySeconds: - type: integer - description: Set or limit time-to-live of the access tokens to the specified number of seconds. This should be set if the authorization server returns opaque tokens. - passwordSecret: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the password. - password: - type: string - description: The name of the key in the Secret under which the password is stored. - required: - - secretName - - password - description: Reference to the `Secret` which holds the password. - readTimeoutSeconds: - type: integer - description: "The read timeout in seconds when connecting to authorization server. If not set, the effective read timeout is 60 seconds." - refreshToken: - type: object - properties: - key: - type: string - description: The key under which the secret value is stored in the Kubernetes Secret. - secretName: - type: string - description: The name of the Kubernetes Secret containing the secret value. - required: - - key - - secretName - description: Link to Kubernetes Secret containing the refresh token which can be used to obtain access token from the authorization server. - saslExtensions: - additionalProperties: - type: string - type: object - description: SASL extensions parameters. - scope: - type: string - description: OAuth scope to use when authenticating against the authorization server. Some authorization servers require this to be set. The possible values depend on how authorization server is configured. By default `scope` is not specified when doing the token endpoint request. - tlsTrustedCertificates: - type: array - items: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the certificate. - certificate: - type: string - description: The name of the file certificate in the secret. - pattern: - type: string - description: "Pattern for the certificate files in the secret. Use the link:https://en.wikipedia.org/wiki/Glob_(programming)[_glob syntax_] for the pattern. All files in the secret that match the pattern are used." - oneOf: - - properties: - certificate: {} - required: - - certificate - - properties: - pattern: {} - required: - - pattern - required: - - secretName - description: Trusted certificates for TLS connection to the OAuth server. - tokenEndpointUri: - type: string - description: Authorization server token endpoint URI. - type: - type: string - enum: - - tls - - scram-sha-256 - - scram-sha-512 - - plain - - oauth - description: "Authentication type. Currently the supported types are `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, and 'oauth'. `scram-sha-256` and `scram-sha-512` types use SASL SCRAM-SHA-256 and SASL SCRAM-SHA-512 Authentication, respectively. `plain` type uses SASL PLAIN Authentication. `oauth` type uses SASL OAUTHBEARER Authentication. The `tls` type uses TLS Client Authentication. The `tls` type is supported only over TLS connections." - username: - type: string - description: Username used for the authentication. - required: - - type - description: Authentication configuration for connecting to the cluster. - config: - x-kubernetes-preserve-unknown-fields: true - type: object - description: "The MirrorMaker producer config. Properties with the following prefixes cannot be set: ssl., bootstrap.servers, sasl., security., interceptor.classes (with the exception of: ssl.endpoint.identification.algorithm, ssl.cipher.suites, ssl.protocol, ssl.enabled.protocols)." - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - secretName: - type: string - description: The name of the Secret containing the certificate. - certificate: - type: string - description: The name of the file certificate in the secret. - pattern: - type: string - description: "Pattern for the certificate files in the secret. Use the link:https://en.wikipedia.org/wiki/Glob_(programming)[_glob syntax_] for the pattern. All files in the secret that match the pattern are used." - oneOf: - - properties: - certificate: {} - required: - - certificate - - properties: - pattern: {} - required: - - pattern - required: - - secretName - description: Trusted certificates for TLS connection. - description: TLS configuration for connecting MirrorMaker to the cluster. - required: - - bootstrapServers - description: Configuration of target cluster. - resources: - type: object - properties: - claims: - type: array - items: - type: object - properties: - name: - type: string - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" - x-kubernetes-int-or-string: true - type: object - description: CPU and memory resources to reserve. - whitelist: - type: string - description: "List of topics which are included for mirroring. This option allows any regular expression using Java-style regular expressions. Mirroring two topics named A and B is achieved by using the expression `A\\|B`. Or, as a special case, you can mirror all topics using the regular expression `*`. You can also specify multiple regular expressions separated by commas." - include: - type: string - description: "List of topics which are included for mirroring. This option allows any regular expression using Java-style regular expressions. Mirroring two topics named A and B is achieved by using the expression `A\\|B`. Or, as a special case, you can mirror all topics using the regular expression `*`. You can also specify multiple regular expressions separated by commas." - jvmOptions: - type: object - properties: - "-XX": - additionalProperties: - type: string - type: object - description: A map of -XX options to the JVM. - "-Xmx": - type: string - pattern: "^[0-9]+[mMgG]?$" - description: -Xmx option to to the JVM. - "-Xms": - type: string - pattern: "^[0-9]+[mMgG]?$" - description: -Xms option to to the JVM. - gcLoggingEnabled: - type: boolean - description: Specifies whether the Garbage Collection logging is enabled. The default is false. - javaSystemProperties: - type: array - items: - type: object - properties: - name: - type: string - description: The system property name. - value: - type: string - description: The system property value. - description: A map of additional system properties which will be passed using the `-D` option to the JVM. - description: JVM Options for pods. - logging: - type: object - properties: - loggers: - additionalProperties: - type: string - type: object - description: A Map from logger name to logger level. - type: - type: string - enum: - - inline - - external - description: "Logging type, must be either 'inline' or 'external'." - valueFrom: - type: object - properties: - configMapKeyRef: - type: object - properties: - key: - type: string - name: - type: string - optional: - type: boolean - description: Reference to the key in the ConfigMap containing the configuration. - description: '`ConfigMap` entry where the logging configuration is stored. ' - required: - - type - description: Logging configuration for MirrorMaker. - metricsConfig: - type: object - properties: - type: - type: string - enum: - - jmxPrometheusExporter - description: Metrics type. Only 'jmxPrometheusExporter' supported currently. - valueFrom: - type: object - properties: - configMapKeyRef: - type: object - properties: - key: - type: string - name: - type: string - optional: - type: boolean - description: Reference to the key in the ConfigMap containing the configuration. - description: 'ConfigMap entry where the Prometheus JMX Exporter configuration is stored. ' - required: - - type - - valueFrom - description: Metrics configuration. - tracing: - type: object - properties: - type: - type: string - enum: - - jaeger - - opentelemetry - description: "Type of the tracing used. Currently the only supported type is `opentelemetry` for OpenTelemetry tracing. As of Strimzi 0.37.0, `jaeger` type is not supported anymore and this option is ignored." - required: - - type - description: The configuration of tracing in Kafka MirrorMaker. - template: - type: object - properties: - deployment: - type: object - properties: - metadata: - type: object - properties: - labels: - additionalProperties: - type: string - type: object - description: Labels added to the Kubernetes resource. - annotations: - additionalProperties: - type: string - type: object - description: Annotations added to the Kubernetes resource. - description: Metadata applied to the resource. - deploymentStrategy: - type: string - enum: - - RollingUpdate - - Recreate - description: Pod replacement strategy for deployment configuration changes. Valid values are `RollingUpdate` and `Recreate`. Defaults to `RollingUpdate`. - description: Template for Kafka MirrorMaker `Deployment`. - pod: - type: object - properties: - metadata: - type: object - properties: - labels: - additionalProperties: - type: string - type: object - description: Labels added to the Kubernetes resource. - annotations: - additionalProperties: - type: string - type: object - description: Annotations added to the Kubernetes resource. - description: Metadata applied to the resource. - imagePullSecrets: - type: array - items: - type: object - properties: - name: - type: string - 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." - securityContext: - type: object - properties: - appArmorProfile: - type: object - properties: - localhostProfile: - type: string - type: - type: string - fsGroup: - type: integer - fsGroupChangePolicy: - type: string - runAsGroup: - type: integer - runAsNonRoot: - type: boolean - runAsUser: - type: integer - seLinuxOptions: - type: object - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - seccompProfile: - type: object - properties: - localhostProfile: - type: string - type: - type: string - supplementalGroups: - type: array - items: - type: integer - sysctls: - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - windowsOptions: - type: object - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - description: Configures pod-level security attributes and common container settings. - terminationGracePeriodSeconds: - type: integer - minimum: 0 - 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." - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchFields: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchFields: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - matchLabelKeys: - type: array - items: - type: string - mismatchLabelKeys: - type: array - items: - type: string - namespaceSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - matchLabelKeys: - type: array - items: - type: string - mismatchLabelKeys: - type: array - items: - type: string - namespaceSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - matchLabelKeys: - type: array - items: - type: string - mismatchLabelKeys: - type: array - items: - type: string - namespaceSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - matchLabelKeys: - type: array - items: - type: string - mismatchLabelKeys: - type: array - items: - type: string - namespaceSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - description: The pod's affinity rules. - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - description: The pod's tolerations. - topologySpreadConstraints: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - additionalProperties: - type: string - type: object - matchLabelKeys: - type: array - items: - type: string - maxSkew: - type: integer - minDomains: - type: integer - nodeAffinityPolicy: - type: string - nodeTaintsPolicy: - type: string - topologyKey: - type: string - whenUnsatisfiable: - type: string - description: The pod's topology spread constraints. - priorityClassName: - type: string - description: 'The name of the priority class used to assign priority to the pods. ' - schedulerName: - type: string - description: "The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used." - hostAliases: - type: array - items: - type: object - properties: - hostnames: - type: array - items: - type: string - ip: - type: string - 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. - enableServiceLinks: - type: boolean - description: Indicates whether information about services should be injected into Pod's environment variables. - tmpDirSizeLimit: - type: string - pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" - 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." - volumes: - type: array - items: - type: object - properties: - name: - type: string - description: Name to use for the volume. Required. - secret: - type: object - properties: - defaultMode: - type: integer - items: - type: array - items: - type: object - properties: - key: - type: string - mode: - type: integer - path: - type: string - optional: - type: boolean - secretName: - type: string - description: Secret to use populate the volume. - configMap: - type: object - properties: - defaultMode: - type: integer - items: - type: array - items: - type: object - properties: - key: - type: string - mode: - type: integer - path: - type: string - name: - type: string - optional: - type: boolean - description: ConfigMap to use to populate the volume. - emptyDir: - type: object - properties: - medium: - type: string - sizeLimit: - type: object - properties: - amount: - type: string - format: - type: string - description: EmptyDir to use to populate the volume. - persistentVolumeClaim: - type: object - properties: - claimName: - type: string - readOnly: - type: boolean - description: PersistentVolumeClaim object to use to populate the volume. - csi: - type: object - properties: - driver: - type: string - fsType: - type: string - nodePublishSecretRef: - type: object - properties: - name: - type: string - readOnly: - type: boolean - volumeAttributes: - additionalProperties: - type: string - type: object - description: CSIVolumeSource object to use to populate the volume. - oneOf: - - properties: - secret: {} - configMap: {} - emptyDir: {} - persistentVolumeClaim: {} - csi: {} - description: Additional volumes that can be mounted to the pod. - description: Template for Kafka MirrorMaker `Pods`. - podDisruptionBudget: - type: object - properties: - metadata: - type: object - properties: - labels: - additionalProperties: - type: string - type: object - description: Labels added to the Kubernetes resource. - annotations: - additionalProperties: - type: string - type: object - description: Annotations added to the Kubernetes resource. - description: Metadata to apply to the `PodDisruptionBudgetTemplate` resource. - maxUnavailable: - type: integer - minimum: 0 - 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." - description: Template for Kafka MirrorMaker `PodDisruptionBudget`. - mirrorMakerContainer: - type: object - properties: - env: - type: array - items: - type: object - properties: - name: - type: string - description: The environment variable key. - value: - type: string - description: The environment variable value. - valueFrom: - type: object - properties: - secretKeyRef: - type: object - properties: - key: - type: string - name: - type: string - optional: - type: boolean - description: Reference to a key in a secret. - configMapKeyRef: - type: object - properties: - key: - type: string - name: - type: string - optional: - type: boolean - description: Reference to a key in a config map. - oneOf: - - properties: - secretKeyRef: {} - required: - - secretKeyRef - - properties: - configMapKeyRef: {} - required: - - configMapKeyRef - description: Reference to the secret or config map property to which the environment variable is set. - oneOf: - - properties: - value: {} - required: - - value - - properties: - valueFrom: {} - required: - - valueFrom - description: Environment variables which should be applied to the container. - securityContext: - type: object - properties: - allowPrivilegeEscalation: - type: boolean - appArmorProfile: - type: object - properties: - localhostProfile: - type: string - type: - type: string - capabilities: - type: object - properties: - add: - type: array - items: - type: string - drop: - type: array - items: - type: string - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - type: integer - runAsNonRoot: - type: boolean - runAsUser: - type: integer - seLinuxOptions: - type: object - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - seccompProfile: - type: object - properties: - localhostProfile: - type: string - type: - type: string - windowsOptions: - type: object - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - description: Security context for the container. - volumeMounts: - type: array - items: - type: object - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - recursiveReadOnly: - type: string - subPath: - type: string - subPathExpr: - type: string - description: Additional volume mounts which should be applied to the container. - description: Template for Kafka MirrorMaker container. - serviceAccount: - type: object - properties: - metadata: - type: object - properties: - labels: - additionalProperties: - type: string - type: object - description: Labels added to the Kubernetes resource. - annotations: - additionalProperties: - type: string - type: object - description: Annotations added to the Kubernetes resource. - description: Metadata applied to the resource. - description: Template for the Kafka MirrorMaker service account. - description: "Template to specify how Kafka MirrorMaker resources, `Deployments` and `Pods`, are generated." - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - description: The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0. - timeoutSeconds: - type: integer - minimum: 1 - description: The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1. - periodSeconds: - type: integer - minimum: 1 - description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. - successThreshold: - type: integer - minimum: 1 - 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. - failureThreshold: - type: integer - minimum: 1 - description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. - description: Pod liveness checking. - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - description: The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0. - timeoutSeconds: - type: integer - minimum: 1 - description: The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1. - periodSeconds: - type: integer - minimum: 1 - description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. - successThreshold: - type: integer - minimum: 1 - 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. - failureThreshold: - type: integer - minimum: 1 - description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. - description: Pod readiness checking. - oneOf: - - properties: - include: {} - required: - - include - - properties: - whitelist: {} - required: - - whitelist - required: - - replicas - - consumer - - producer - description: The specification of Kafka MirrorMaker. - status: - type: object - properties: - conditions: - type: array - items: - type: object - properties: - type: - type: string - description: "The unique identifier of a condition, used to distinguish between other conditions in the resource." - status: - type: string - description: "The status of the condition, either True, False or Unknown." - lastTransitionTime: - type: string - 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." - reason: - type: string - description: The reason for the condition's last transition (a single word in CamelCase). - message: - type: string - description: Human-readable message indicating details about the condition's last transition. - description: List of status conditions. - observedGeneration: - type: integer - description: The generation of the CRD that was last reconciled by the operator. - labelSelector: - type: string - description: Label selector for pods providing this resource. - replicas: - type: integer - description: The current number of pods being used to provide this resource. - description: The status of Kafka MirrorMaker. diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/04A-Crd-kafkanodepool.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/045-Crd-kafkanodepool.yaml similarity index 96% rename from packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/04A-Crd-kafkanodepool.yaml rename to packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/045-Crd-kafkanodepool.yaml index 2e48bf0a..a8ed76f9 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/04A-Crd-kafkanodepool.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/045-Crd-kafkanodepool.yaml @@ -91,7 +91,7 @@ spec: broker: type: integer description: Id of the kafka broker (broker identifier). - description: Overrides for individual brokers. The `overrides` field allows you to specify a different configuration for different brokers. + description: "As of Strimzi 0.46.0, the storage overrides for individual brokers are not supported anymore and this option is ignored." selector: additionalProperties: type: string @@ -142,7 +142,7 @@ spec: broker: type: integer description: Id of the kafka broker (broker identifier). - description: Overrides for individual brokers. The `overrides` field allows you to specify a different configuration for different brokers. + description: "As of Strimzi 0.46.0, the storage overrides for individual brokers are not supported anymore and this option is ignored." selector: additionalProperties: type: string @@ -174,7 +174,7 @@ spec: enum: - controller - broker - description: "The roles that the nodes in this pool will have when KRaft mode is enabled. Supported values are 'broker' and 'controller'. This field is required. When KRaft mode is disabled, the only allowed value if `broker`." + description: The roles assigned to the node pool. Supported values are `broker` and `controller`. This property is required. resources: type: object properties: @@ -185,6 +185,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -300,6 +302,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -322,6 +326,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -752,6 +758,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml index 8355ae95..3c4cf003 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml @@ -346,6 +346,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -562,6 +564,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -584,6 +588,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -1014,6 +1020,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml index 55b514a8..dddbc5cf 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml @@ -506,6 +506,8 @@ spec: properties: name: type: string + request: + type: string limits: additionalProperties: anyOf: @@ -790,6 +792,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -812,6 +816,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -1242,6 +1248,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. @@ -1803,6 +1838,8 @@ spec: type: boolean runAsUser: type: integer + seLinuxChangePolicy: + type: string seLinuxOptions: type: object properties: @@ -1825,6 +1862,8 @@ spec: type: array items: type: integer + supplementalGroupsPolicy: + type: string sysctls: type: array items: @@ -2255,6 +2294,35 @@ spec: ip: type: string 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. + dnsPolicy: + type: string + enum: + - ClusterFirst + - ClusterFirstWithHostNet + - Default + - None + description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`." + dnsConfig: + type: object + properties: + nameservers: + type: array + items: + type: string + options: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + searches: + type: array + items: + type: string + description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy." enableServiceLinks: type: boolean description: Indicates whether information about services should be injected into Pod's environment variables. diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka-mirror-maker-2.json b/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka-mirror-maker-2.json index 28091266..b0111266 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka-mirror-maker-2.json +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka-mirror-maker-2.json @@ -220,7 +220,7 @@ "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "Bytes/sec", + "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", @@ -263,7 +263,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -317,7 +317,7 @@ "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "Bytes/sec", + "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", @@ -360,7 +360,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -557,6 +557,7 @@ }, { "datasource": "${DS_PROMETHEUS}", + "description": "The number of records that this task has consumed from the source but not yet produced to the target.", "fieldConfig": { "defaults": { "color": { @@ -658,7 +659,7 @@ "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "bytes", + "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", @@ -700,7 +701,7 @@ } ] }, - "unit": "short" + "unit": "bytes" }, "overrides": [] }, @@ -740,6 +741,7 @@ }, { "datasource": "${DS_PROMETHEUS}", + "description": "Time duration that this task takes to commit its offsets to the target.", "fieldConfig": { "defaults": { "color": { @@ -749,7 +751,7 @@ "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "ms", + "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", @@ -791,7 +793,7 @@ } ] }, - "unit": "short" + "unit": "ms" }, "overrides": [] }, @@ -831,6 +833,7 @@ }, { "datasource": "${DS_PROMETHEUS}", + "description": "Time duration between record timestamp in the source topic and the time when the source connector handles the record (aka. MM2 consumer lag time).", "fieldConfig": { "defaults": { "color": { @@ -894,6 +897,10 @@ { "id": "custom.width", "value": 65 + }, + { + "id": "unit", + "value": "ms" } ] }, @@ -918,6 +925,10 @@ { "id": "custom.width", "value": 45 + }, + { + "id": "unit", + "value": "ms" } ] }, @@ -930,6 +941,10 @@ { "id": "custom.width", "value": 41 + }, + { + "id": "unit", + "value": "ms" } ] }, @@ -1064,6 +1079,7 @@ }, { "datasource": "${DS_PROMETHEUS}", + "description": "The end to end latency from the record timestamp in the source topic to the time when the record is written successfully to the target cluster.", "fieldConfig": { "defaults": { "color": { @@ -1126,6 +1142,10 @@ { "id": "custom.width", "value": 65 + }, + { + "id": "unit", + "value": "ms" } ] }, @@ -1138,6 +1158,10 @@ { "id": "custom.width", "value": 70 + }, + { + "id": "unit", + "value": "ms" } ] }, @@ -1150,6 +1174,10 @@ { "id": "custom.width", "value": 45 + }, + { + "id": "unit", + "value": "ms" } ] }, @@ -1162,6 +1190,10 @@ { "id": "custom.width", "value": 41 + }, + { + "id": "unit", + "value": "ms" } ] }, @@ -1296,6 +1328,7 @@ }, { "datasource": "${DS_PROMETHEUS}", + "description": "The latency for synchronizing the consumer groups of the source cluster to the target cluster.", "fieldConfig": { "defaults": { "color": { @@ -1333,7 +1366,7 @@ "properties": [ { "id": "unit", - "value": "dtdurationms" + "value": "ms" }, { "id": "custom.width", @@ -1379,7 +1412,7 @@ "refId": "A" } ], - "title": "Offset Synchronization Latency", + "title": "Consumer Group Offset Sync Latency", "transformations": [ { "id": "organize", @@ -1416,6 +1449,7 @@ }, { "datasource": "${DS_PROMETHEUS}", + "description": "Consumer lag which in the context of the replication indicates whether the consumer in the source connector can keep up with the rate records are produced in the source.", "fieldConfig": { "defaults": { "color": { @@ -1425,7 +1459,7 @@ "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "", + "axisLabel": "offset", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", @@ -1506,6 +1540,7 @@ }, { "datasource": "${DS_PROMETHEUS}", + "description": "Consumer lag which in the context of the replication indicates whether the consumer in the source connector can keep up with the rate records are produced in the source.", "fieldConfig": { "defaults": { "color": { @@ -2321,6 +2356,6 @@ }, "timezone": "", "title": "Strimzi Kafka Mirror Maker 2", - "version": 9, + "version": 10, "weekStart": "" } diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka.json b/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka.json index 4a4176b7..7e037281 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka.json +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kafka.json @@ -2383,7 +2383,7 @@ }, "gridPos": { "h": 8, - "w": 8, + "w": 12, "x": 0, "y": 47 }, @@ -2475,8 +2475,8 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 8, + "w": 12, + "x": 12, "y": 47 }, "id": 105, @@ -2567,9 +2567,9 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 16, - "y": 47 + "w": 12, + "x": 0, + "y": 55 }, "id": 106, "options": { @@ -2636,7 +2636,7 @@ "gridPos": { "h": 8, "w": 12, - "x": 0, + "x": 12, "y": 55 }, "id": 91, @@ -2722,97 +2722,6 @@ } ], "type": "table" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 55 - }, - "id": 110, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(kafka_server_zookeeperclientmetrics_zookeeperrequestlatencyms{namespace=\"$kubernetes_namespace\",kubernetes_pod_name=~\"$strimzi_cluster_name-$kafka_broker\",strimzi_io_name=\"$strimzi_cluster_name-kafka\"}) by (kubernetes_pod_name)", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "ZK request latecy", - "type": "timeseries" } ], "refresh": "5s", diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-operators.json b/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-operators.json index 8b3a05af..317156b2 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-operators.json +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-operators.json @@ -493,13 +493,13 @@ "targets": [ { "datasource": "${DS_PROMETHEUS}", - "expr": "sum(strimzi_resources{kind=\"KafkaMirrorMaker\"})", + "expr": "sum(strimzi_resources{kind=\"KafkaNodePool\"})", "format": "time_series", "intervalFactor": 1, "refId": "A" } ], - "title": "Mirror Maker CRs", + "title": "Node Pool CRs", "type": "stat" }, { diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-zookeeper.json b/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-zookeeper.json deleted file mode 100644 index 4a8aa752..00000000 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/files/grafana-dashboards/strimzi-zookeeper.json +++ /dev/null @@ -1,1412 +0,0 @@ -{ - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "7.4.5" - }, - { - "type": "panel", - "id": "stat", - "name": "Stat" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Timeseries" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "limit": 100, - "name": "Annotations & Alerts", - "showIn": 0, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 11, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 26, - "panels": [], - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "refId": "A" - } - ], - "title": "ZooKeeper", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Quorum size of ZooKeeper ensemble", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#d44a3a", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 2 - }, - { - "color": "#299c46", - "value": 3 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 0, - "y": 1 - }, - "id": 52, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "max(zookeeper_quorumsize{namespace=\"$kubernetes_namespace\",strimzi_io_cluster=\"$strimzi_cluster_name\",strimzi_io_kind=\"Kafka\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Quorum Size", - "type": "stat" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Number of active connections", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#299c46", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 60 - }, - { - "color": "#d44a3a", - "value": 120 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 4, - "y": 1 - }, - "id": 54, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(zookeeper_numaliveconnections{namespace=\"$kubernetes_namespace\",strimzi_io_cluster=\"$strimzi_cluster_name\",strimzi_io_kind=\"Kafka\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Active Connections", - "type": "stat" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Number of queued requests in the server. This goes up when the server receives more requests than it can process", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 1 - }, - "id": 12, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(zookeeper_outstandingrequests{namespace=\"$kubernetes_namespace\",strimzi_io_cluster=\"$strimzi_cluster_name\",strimzi_io_kind=\"Kafka\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\"}) by (kubernetes_pod_name)", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "Outstanding Requests", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Amount of time (in ms) it takes for the server to respond to a client request", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "Request Latency (ms)", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "ms" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 1 - }, - "id": 6, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(zookeeper_avgrequestlatency{namespace=\"$kubernetes_namespace\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\"}) by (kubernetes_pod_name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "Request Latency - Average", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#299c46", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 500 - }, - { - "color": "#d44a3a", - "value": 800 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 0, - "y": 5 - }, - "id": 64, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "avg(zookeeper_inmemorydatatree_nodecount{namespace=\"$kubernetes_namespace\",strimzi_io_cluster=\"$strimzi_cluster_name\",strimzi_io_kind=\"Kafka\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Number of ZNodes", - "type": "stat" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Number of watchers", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#299c46", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 100 - }, - { - "color": "#d44a3a", - "value": 200 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 4, - "y": 5 - }, - "id": 66, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(zookeeper_inmemorydatatree_watchcount{namespace=\"$kubernetes_namespace\",strimzi_io_cluster=\"$strimzi_cluster_name\",strimzi_io_kind=\"Kafka\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Number of watchers", - "type": "stat" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "ZooKeeper pods memory usage", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "y": 9 - }, - "id": 87, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(container_memory_usage_bytes{namespace=\"$kubernetes_namespace\",container=\"zookeeper\",pod=~\"$strimzi_cluster_name-$zk_node\"}) by (pod)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{pod}}", - "refId": "A" - } - ], - "title": "Memory Usage", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Aggregated ZooKeeper pods CPU usage", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 6, - "y": 9 - }, - "id": 85, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$kubernetes_namespace\",container=\"zookeeper\",pod=~\"$strimzi_cluster_name-$zk_node\"}[5m])) by (pod)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{pod}}", - "refId": "A" - } - ], - "title": "CPU Usage", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Kafka broker pods disk usage", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 12, - "y": 9 - }, - "id": 89, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(kubelet_volume_stats_available_bytes{namespace=\"$kubernetes_namespace\",persistentvolumeclaim=~\"data(-[0-9]+)?-$strimzi_cluster_name-$zk_node\", persistentvolumeclaim=~\".*zookeeper(-[0-9]+)?$\"}) by (persistentvolumeclaim)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{persistentvolumeclaim}}", - "refId": "A" - } - ], - "title": "Available Disk Space", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "Open File Descriptors", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 9 - }, - "id": 96, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(process_open_fds{namespace=\"$kubernetes_namespace\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\",container=\"zookeeper\"}) by (kubernetes_pod_name)", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "Open File Descriptors", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "y": 16 - }, - "id": 91, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(jvm_memory_used_bytes{namespace=\"$kubernetes_namespace\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\",strimzi_io_name=\"$strimzi_cluster_name-zookeeper\"}) by (kubernetes_pod_name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "JVM Memory Used", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "ms" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 6, - "y": 16 - }, - "id": 93, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(rate(jvm_gc_collection_seconds_sum{namespace=\"$kubernetes_namespace\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\",strimzi_io_name=\"$strimzi_cluster_name-zookeeper\"}[5m])) by (kubernetes_pod_name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "JVM GC Time", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 12, - "y": 16 - }, - "id": 95, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(rate(jvm_gc_collection_seconds_count{namespace=\"$kubernetes_namespace\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\",strimzi_io_name=\"$strimzi_cluster_name-zookeeper\"}[5m])) by (kubernetes_pod_name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "JVM GC Count", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "description": "JVM thread count", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 16 - }, - "id": 97, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "7.4.5", - "targets": [ - { - "datasource": "${DS_PROMETHEUS}", - "expr": "sum(jvm_threads_current{namespace=\"$kubernetes_namespace\",kubernetes_pod_name=~\"$strimzi_cluster_name-$zk_node\",strimzi_io_name=\"$strimzi_cluster_name-zookeeper\"}) by (kubernetes_pod_name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "JVM thread count", - "type": "timeseries" - } - ], - "refresh": "5s", - "schemaVersion": 39, - "tags": [ - "Strimzi", - "Kafka", - "Zookeeper" - ], - "templating": { - "list": [ - { - "current": {}, - "error": null, - "hide": 0, - "includeAll": false, - "label": "datasource", - "multi": false, - "name": "DS_PROMETHEUS", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "", - "hide": 0, - "includeAll": false, - "label": "Namespace", - "multi": false, - "name": "kubernetes_namespace", - "options": [], - "query": "query_result(zookeeper_inmemorydatatree_nodecount)", - "refresh": 1, - "regex": "/.*namespace=\"([^\"]*).*/", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "", - "hide": 0, - "includeAll": false, - "label": "Cluster Name", - "multi": false, - "name": "strimzi_cluster_name", - "options": [], - "query": "query_result(zookeeper_inmemorydatatree_nodecount{namespace=\"$kubernetes_namespace\"})", - "refresh": 1, - "regex": "/.*strimzi_io_cluster=\"([^\"]*).*/", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".*", - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "", - "hide": 0, - "includeAll": true, - "label": "Node", - "multi": false, - "name": "zk_node", - "options": [], - "query": "query_result(zookeeper_inmemorydatatree_nodecount{namespace=\"$kubernetes_namespace\",strimzi_io_cluster=\"$strimzi_cluster_name\"})", - "refresh": 1, - "regex": "/.*pod_name=\"$strimzi_cluster_name-([^\"]*).*/", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "Strimzi ZooKeeper", - "version": 6, - "weekStart": "" -} diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml index b29eaa92..e366fbe1 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml @@ -69,8 +69,6 @@ rules: resources: # The cluster operator needs to access and manage deployments to run deployment based Strimzi components - deployments - # The cluster operator needs to access and manage stateful sets to run stateful sets based Strimzi components - - statefulsets # The cluster operator needs to access replica-sets to manage Strimzi components and to determine error states - replicasets verbs: diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml index 0f70ff13..ba196013 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml @@ -30,7 +30,6 @@ rules: - kafkanodepools - kafkaconnects - kafkaconnectors - - kafkamirrormakers - kafkabridges - kafkamirrormaker2s - kafkarebalances @@ -49,7 +48,6 @@ rules: - kafkanodepools/status - kafkaconnects/status - kafkaconnectors/status - - kafkamirrormakers/status - kafkabridges/status - kafkamirrormaker2s/status - kafkarebalances/status @@ -60,7 +58,7 @@ rules: - apiGroups: - "core.strimzi.io" resources: - # The cluster operator uses StrimziPodSets to manage the Kafka and ZooKeeper pods + # The cluster operator uses StrimziPodSets to manage the Kafka, Kafka Connect, and Kafka MirrorMaker 2 pods - strimzipodsets verbs: - get diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/050-ConfigMap-strimzi-cluster-operator.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/050-ConfigMap-strimzi-cluster-operator.yaml index 35233a1d..fa451e14 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/050-ConfigMap-strimzi-cluster-operator.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/050-ConfigMap-strimzi-cluster-operator.yaml @@ -30,10 +30,6 @@ data: logger.kafka.name = org.apache.kafka logger.kafka.level = WARN - # Zookeeper is very verbose even on INFO level -> We set it to WARN by default - logger.zookeepertrustmanager.name = org.apache.zookeeper - logger.zookeepertrustmanager.level = WARN - # Keeps separate level for Netty logging -> to not be changed by the root logger logger.netty.name = io.netty logger.netty.level = INFO diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/070-ClusterRole-strimzi-admin.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/070-ClusterRole-strimzi-admin.yaml index 32e48d8c..c8654719 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/070-ClusterRole-strimzi-admin.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/070-ClusterRole-strimzi-admin.yaml @@ -21,8 +21,6 @@ rules: - kafkanodepools/scale - kafkaconnects - kafkaconnects/scale - - kafkamirrormakers - - kafkamirrormakers/scale - kafkausers - kafkatopics - kafkabridges diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/080-ClusterRole-strimzi-view.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/080-ClusterRole-strimzi-view.yaml index b29a20ee..7f850f80 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/080-ClusterRole-strimzi-view.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/080-ClusterRole-strimzi-view.yaml @@ -18,7 +18,6 @@ rules: - kafkas - kafkanodepools - kafkaconnects - - kafkamirrormakers - kafkausers - kafkatopics - kafkabridges diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl index c1ff9e62..01a967d0 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl @@ -6,27 +6,19 @@ {{/* Generate the kafka image map */}} {{- define "strimzi.kafka.image.map" }} - name: STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE - value: {{ template "strimzi.image" (merge . (dict "key" "kafkaExporter" "tagSuffix" "-kafka-3.9.0")) }} + value: {{ template "strimzi.image" (merge . (dict "key" "kafkaExporter" "tagSuffix" "-kafka-4.0.0")) }} - name: STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE - value: {{ template "strimzi.image" (merge . (dict "key" "cruiseControl" "tagSuffix" "-kafka-3.9.0")) }} + value: {{ template "strimzi.image" (merge . (dict "key" "cruiseControl" "tagSuffix" "-kafka-4.0.0")) }} - name: STRIMZI_KAFKA_IMAGES value: | - 3.8.0={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-3.8.0")) }} - 3.8.1={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-3.8.1")) }} 3.9.0={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-3.9.0")) }} + 4.0.0={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-4.0.0")) }} - name: STRIMZI_KAFKA_CONNECT_IMAGES value: | - 3.8.0={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-3.8.0")) }} - 3.8.1={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-3.8.1")) }} 3.9.0={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-3.9.0")) }} - - name: STRIMZI_KAFKA_MIRROR_MAKER_IMAGES - value: | - 3.8.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker" "tagSuffix" "-kafka-3.8.0")) }} - 3.8.1={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker" "tagSuffix" "-kafka-3.8.1")) }} - 3.9.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker" "tagSuffix" "-kafka-3.9.0")) }} + 4.0.0={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-4.0.0")) }} - name: STRIMZI_KAFKA_MIRROR_MAKER_2_IMAGES value: | - 3.8.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-3.8.0")) }} - 3.8.1={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-3.8.1")) }} 3.9.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-3.9.0")) }} + 4.0.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-4.0.0")) }} {{- end -}} diff --git a/packages/system/kafka-operator/charts/strimzi-kafka-operator/values.yaml b/packages/system/kafka-operator/charts/strimzi-kafka-operator/values.yaml index 9c82c743..97edd1fd 100644 --- a/packages/system/kafka-operator/charts/strimzi-kafka-operator/values.yaml +++ b/packages/system/kafka-operator/charts/strimzi-kafka-operator/values.yaml @@ -10,7 +10,7 @@ watchAnyNamespace: false defaultImageRegistry: quay.io defaultImageRepository: strimzi -defaultImageTag: 0.45.0 +defaultImageTag: 0.46.0 image: registry: "" @@ -115,18 +115,12 @@ kafkaInit: repository: "" name: operator tag: "" -kafkaMirrorMaker: - image: - registry: "" - repository: "" - name: kafka - tagPrefix: "" kafkaBridge: image: registry: "" repository: name: kafka-bridge - tag: 0.31.1 + tag: 0.32.0 kafkaExporter: image: registry: ""