diff --git a/packs/strimzi-kafka-operator-0.40.0/README.md b/packs/strimzi-kafka-operator-0.40.0/README.md new file mode 100644 index 00000000..8504816c --- /dev/null +++ b/packs/strimzi-kafka-operator-0.40.0/README.md @@ -0,0 +1,190 @@ +# Strimzi: Apache Kafka on Kubernetes + +Strimzi provides a way to run an [Apache Kafka®](https://kafka.apache.org) cluster on +[Kubernetes](https://kubernetes.io/) in various deployment configurations. + +See their [website](https://strimzi.io) for more details about the project. + +**!!! IMPORTANT !!!** +From Strimzi 0.40 on, we support only Kubernetes 1.23 and newer. +Kubernetes versions 1.21 and 1.22 are no longer supported. + +## Introduction + +This chart bootstraps the Strimzi Cluster Operator Deployment, Cluster Roles, Cluster Role Bindings, Service Accounts, and +Custom Resource Definitions for running [Apache Kafka](https://kafka.apache.org/) on [Kubernetes](http://kubernetes.io) +cluster using the [Helm](https://helm.sh) package manager. + +### Supported Features + +* **Manages the Kafka Cluster** - Deploys and manages all of the components of this complex application, including dependencies like Apache ZooKeeper® that are traditionally hard to administer. +* **Includes Kafka Connect** - Allows for configuration of common data sources and sinks to move data into and out of the Kafka cluster. +* **Topic Management** - Creates and manages Kafka Topics within the cluster. +* **User Management** - Creates and manages Kafka Users within the cluster. +* **Connector Management** - Creates and manages Kafka Connect connectors. +* **Includes Kafka Mirror Maker 1 and 2** - Allows for mirroring data between different Apache Kafka® clusters. +* **Includes HTTP Kafka Bridge** - Allows clients to send and receive messages through an Apache Kafka® cluster via the HTTP protocol. +* **Includes Cruise Control** - Automates the process of balancing partitions across an Apache Kafka® cluster. +* **Prometheus monitoring** - Built-in support for monitoring using Prometheus. +* **Grafana Dashboards** - Built-in support for loading Grafana® dashboards via the grafana_sidecar + +### 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. +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. + +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. +See [the upgrade guide](https://strimzi.io/docs/operators/latest/deploying.html#assembly-upgrading-kafka-versions-str) for more information. + +## Prerequisites + +- Kubernetes 1.23+ + +## Configuration + +The following table lists the configurable parameters of the Strimzi chart and their default values. Runtime +configuration of Kafka and other components are defined within their respective Custom Resource Definitions. See +the documentation for more details. + +| Parameter | Description | Default | +|---------------------------------------------|---------------------------------------------------------------------------------|------------------------------| +| `replicas` | Number of replicas of the cluster operator | 1 | +| `watchNamespaces` | Comma separated list of additional namespaces for the strimzi-operator to watch | [] | +| `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.40.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.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` | +| `image.imagePullSecrets` | List of Docker registry pull secrets | `[]` | +| `fullReconciliationIntervalMs` | Full reconciliation interval in milliseconds | 120000 | +| `leaderElection.enable` | Whether to enable leader election | `true` | +| `operationTimeoutMs` | Operation timeout in milliseconds | 300000 | +| `operatorNamespaceLabels` | Labels of the namespace where the operator runs | `nil` | +| `podSecurityContext` | Cluster Operator pod's security context | `nil` | +| `priorityClassName` | Cluster Operator pod's priority class name | `nil` | +| `securityContext` | Cluster Operator container's security context | `nil` | +| `rbac.create` | Whether to create RBAC related resources | `yes` | +| `serviceAccountCreate` | Whether to create a service account | `yes` | +| `serviceAccount` | Cluster Operator's service account | `strimzi-cluster-operator` | +| `podDisruptionBudget.enabled` | Whether to enable the podDisruptionBudget feature | `false` | +| `podDisruptionBudget.minAvailable` | Default value for how many pods must be running in a cluster | `1` | +| `podDisruptionBudget.maxUnavailable` | Default value for how many pods can be down | `nil` | +| `extraEnvs` | Extra environment variables for the Cluster operator container | `[]` | +| `kafka.image.registry` | Override default Kafka image registry | `nil` | +| `kafka.image.repository` | Override default Kafka image repository | `nil` | +| `kafka.image.name` | Kafka image name | `kafka` | +| `kafka.image.tagPrefix` | Override default Kafka image tag prefix | `nil` | +| `kafka.image.tag` | Override default Kafka image tag and ignore suffix | `nil` | +| `kafka.image.digest` | Override Kafka image tag with digest | `nil` | +| `kafkaConnect.image.registry` | Override default Kafka Connect image registry | `nil` | +| `kafkaConnect.image.repository` | Override default Kafka Connect image repository | `nil` | +| `kafkaConnect.image.name` | Kafka Connect image name | `kafka` | +| `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` | +| `cruiseControl.image.tagPrefix` | Override default Cruise Control image tag prefix | `nil` | +| `cruiseControl.image.tag` | Override default Cruise Control image tag and ignore suffix | `nil` | +| `cruiseControl.image.digest` | Override Cruise Control image tag with digest | `nil` | +| `topicOperator.image.registry` | Override default Topic Operator image registry | `nil` | +| `topicOperator.image.repository` | Override default Topic Operator image repository | `nil` | +| `topicOperator.image.name` | Topic Operator image name | `operator` | +| `topicOperator.image.tag` | Override default Topic Operator image tag | `nil` | +| `topicOperator.image.digest` | Override Topic Operator image tag with digest | `nil` | +| `userOperator.image.registry` | Override default User Operator image registry | `nil` | +| `userOperator.image.repository` | Override default User Operator image repository | `nil` | +| `userOperator.image.name` | User Operator image name | `operator` | +| `userOperator.image.tag` | Override default User Operator image tag | `nil` | +| `userOperator.image.digest` | Override User Operator image tag with digest | `nil` | +| `kafkaInit.image.registry` | Override default Init Kafka image registry | `nil` | +| `kafkaInit.image.repository` | Override default Init Kafka image repository | `nil` | +| `kafkaInit.image.name` | Init Kafka image name | `operator` | +| `kafkaInit.image.tag` | Override default Init Kafka image tag | `nil` | +| `kafkaInit.image.digest` | Override Init Kafka image tag with digest | `nil` | +| `tlsSidecarEntityOperator.image.registry` | Override default TLS Sidecar Entity Operator image registry | `nil` | +| `tlsSidecarEntityOperator.image.repository` | Override default TLS Sidecar Entity Operator image repository | `nil` | +| `tlsSidecarEntityOperator.image.name` | TLS Sidecar Entity Operator image name | `kafka` | +| `tlsSidecarEntityOperator.image.tagPrefix` | Override default TLS Sidecar Entity Operator image tag prefix | `nil` | +| `tlsSidecarEntityOperator.image.tag` | Override default TLS Sidecar Entity Operator image tag and ignore suffix | `nil` | +| `tlsSidecarEntityOperator.image.digest` | Override TLS Sidecar Entity Operator image tag with digest | `nil` | +| `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.28.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` | +| `kafkaExporter.image.name` | Kafka Exporter image name | `kafka` | +| `kafkaExporter.image.tagPrefix` | Override default Kafka Exporter image tag prefix | `nil` | +| `kafkaExporter.image.tag` | Override default Kafka Exporter image tag and ignore suffix | `nil` | +| `kafkaExporter.image.digest` | Override Kafka Exporter image tag with digest | `nil` | +| `kafkaMirrorMaker2.image.registry` | Override default Kafka Mirror Maker 2 image registry | `nil` | +| `kafkaMirrorMaker2.image.repository` | Override default Kafka Mirror Maker 2 image repository | `nil` | +| `kafkaMirrorMaker2.image.name` | Kafka Mirror Maker 2 image name | `kafka` | +| `kafkaMirrorMaker2.image.tagPrefix` | Override default Kafka Mirror Maker 2 image tag prefix | `nil` | +| `kafkaMirrorMaker2.image.tag` | Override default Kafka Mirror Maker 2 image tag and ignore suffix | `nil` | +| `kafkaMirrorMaker2.image.digest` | Override Kafka Mirror Maker 2 image tag with digest | `nil` | +| `kanikoExecutor.image.registry` | Override default Kaniko Executor image registry | `nil` | +| `kanikoExecutor.image.repository` | Override default Kaniko Executor image repository | `nil` | +| `kanikoExecutor.image.name` | Kaniko Executor image name | `kaniko-executor` | +| `kanikoExecutor.image.tag` | Override default Kaniko Executor image tag | `nil` | +| `kanikoExecutor.image.digest` | Override Kaniko Executor image tag with digest | `nil` | +| `resources.limits.memory` | Memory constraint for limits | `256Mi` | +| `resources.limits.cpu` | CPU constraint for limits | `1000m` | +| `resources.requests.memory` | Memory constraint for requests | `256Mi` | +| `livenessProbe.initialDelaySeconds` | Liveness probe initial delay in seconds | 10 | +| `livenessProbe.periodSeconds` | Liveness probe period in seconds | 30 | +| `readinessProbe.initialDelaySeconds` | Readiness probe initial delay in seconds | 10 | +| `readinessProbe.periodSeconds` | Readiness probe period in seconds | 30 | +| `imageTagOverride` | Override all image tag config | `nil` | +| `createGlobalResources` | Allow creation of cluster-scoped resources | `true` | +| `createAggregateRoles` | Create cluster roles that extend aggregated roles to use Strimzi CRDs | `false` | +| `tolerations` | Add tolerations to Operator Pod | `[]` | +| `affinity` | Add affinities to Operator Pod | `{}` | +| `annotations` | Add annotations to Operator Pod | `{}` | +| `labels` | Add labels to Operator Pod | `{}` | +| `nodeSelector` | Add a node selector to Operator Pod | `{}` | +| `featureGates` | Feature Gates configuration | `nil` | +| `tmpDirSizeLimit` | Set the `sizeLimit` for the tmp dir volume used by the operator | `1Mi` | +| `labelsExclusionPattern` | Override the exclude pattern for exclude some labels | `""` | +| `generateNetworkPolicy` | Controls whether Strimzi generates network policy resources | `true` | +| `connectBuildTimeoutMs` | Overrides the default timeout value for building new Kafka Connect | `300000` | +| `mavenBuilder.image.registry` | Override default Maven Builder image registry | `nil` | +| `mavenBuilder.image.repository` | Maven Builder image repository | `nil` | +| `mavenBuilder.image.name` | Override default Maven Builder image name | `maven-builder` | +| `mavenBuilder.image.tag` | Override default Maven Builder image tag | `nil` | +| `mavenBuilder.image.digest` | Override Maven Builder image tag with digest | `nil` | +| `logConfiguration` | Override default `log4j.properties` content | `nil` | +| `dashboards.enable` | Generate configmaps containing the dashboards | `false` | +| `dashboards.label` | How should the dashboards be labeled for the sidecar | `grafana_dashboard` | +| `dashboards.labelValue` | What should the dashboards label value be for the sidecar | `"1"` | +| `dashboards.extraLabels` | Any additional labels you would like on the dashboards | `{}` | +| `dashboards.namespace` | What namespace should the dashboards be loaded into | `Follows toplevel Namespace` | +| `dashboards.annotations` | Any custom annotations (such as folder for the sidecar) | `{}` | + +### Getting help + +If you encounter any issues while using Strimzi, you can get help using: +* [Strimzi mailing list on CNCF](https://lists.cncf.io/g/cncf-strimzi-users/topics) +* [Strimzi Slack channel on CNCF workspace](https://cloud-native.slack.com/messages/strimzi) +* [GitHub Discussions](https://github.com/strimzi/strimzi-kafka-operator/discussions) + +### License + +Strimzi is licensed under the [Apache License, Version 2.0](https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE). \ No newline at end of file diff --git a/packs/strimzi-kafka-operator-0.40.0/charts/strimzi-kafka-operator-helm-3-chart-0.40.0.tgz b/packs/strimzi-kafka-operator-0.40.0/charts/strimzi-kafka-operator-helm-3-chart-0.40.0.tgz new file mode 100644 index 00000000..d7dd5544 Binary files /dev/null and b/packs/strimzi-kafka-operator-0.40.0/charts/strimzi-kafka-operator-helm-3-chart-0.40.0.tgz differ diff --git a/packs/strimzi-kafka-operator-0.40.0/logo.png b/packs/strimzi-kafka-operator-0.40.0/logo.png new file mode 100644 index 00000000..8c0ff289 Binary files /dev/null and b/packs/strimzi-kafka-operator-0.40.0/logo.png differ diff --git a/packs/strimzi-kafka-operator-0.40.0/pack.json b/packs/strimzi-kafka-operator-0.40.0/pack.json new file mode 100644 index 00000000..778b66f9 --- /dev/null +++ b/packs/strimzi-kafka-operator-0.40.0/pack.json @@ -0,0 +1,18 @@ +{ + "addonType": "system app", + "annotations": { + "commit_msg": "Run an Apache Kafka® cluster on Kubernetes with Strimzi", + "source": "community", + "contributor" : "spectrocloud" + }, + "charts": [ + "charts/strimzi-kafka-operator-helm-3-chart-0.40.0.tgz" + ], + "cloudTypes": [ + "all" + ], + "displayName": "Strimzi Kafka", + "layer":"addon", + "name": "strimzi-kafka", + "version": "0.4.0" +} \ No newline at end of file diff --git a/packs/strimzi-kafka-operator-0.40.0/values.yaml b/packs/strimzi-kafka-operator-0.40.0/values.yaml new file mode 100644 index 00000000..e3ab5f27 --- /dev/null +++ b/packs/strimzi-kafka-operator-0.40.0/values.yaml @@ -0,0 +1,210 @@ +# Default values for strimzi-kafka-operator +# This is a YAML-formatted file +pack: + content: + images: + - image: quay.io/strimzi/operator:0.40.0 + - image: quay.io/strimzi/kafka:0.40.0-kafka-3.6.0 + - image: quay.io/strimzi/kafka:0.40.0-kafka-3.6.1 + - image: quay.io/strimzi/kafka:0.40.0-kafka-3.7.0 + - image: quay.io/strimzi/kafka-bridge:0.28.0 + - image: quay.io/strimzi/kaniko-executor:0.40.0 + - image: quay.io/strimzi/maven-builder:0.40.0 + + charts: + - repo: https://strimzi.io/charts + name: strimzi-kafka-operator + version: 0.40.0 + #The namespace (on the target cluster) to install this chart + #When not found, a new namespace will be created + namespace: "strimzi-kafka" + +charts: + strimzi-kafka-operator: + # Default replicas for the cluster operator + replicas: 1 + + # If you set `watchNamespaces` to the same value as ``.Release.Namespace` (e.g. `helm ... --namespace $NAMESPACE`), + # the chart will fail because duplicate RoleBindings will be attempted to be created in the same namespace + watchNamespaces: [] + watchAnyNamespace: false + + defaultImageRegistry: quay.io + defaultImageRepository: strimzi + defaultImageTag: 0.40.0 + + image: + registry: "" + repository: "" + name: operator + tag: "" + # imagePullSecrets: + # - name: secretname + logVolume: co-config-volume + logConfigMap: strimzi-cluster-operator + logConfiguration: "" + logLevel: ${env:STRIMZI_LOG_LEVEL:-INFO} + fullReconciliationIntervalMs: 120000 + operationTimeoutMs: 300000 + kubernetesServiceDnsDomain: cluster.local + featureGates: "" + tmpDirSizeLimit: 1Mi + + # Example on how to configure extraEnvs + # extraEnvs: + # - name: JAVA_OPTS + # value: "-Xms256m -Xmx256m" + + extraEnvs: [] + + tolerations: [] + affinity: {} + annotations: {} + labels: {} + nodeSelector: {} + priorityClassName: "" + + podSecurityContext: {} + securityContext: {} + rbac: + create: yes + serviceAccountCreate: yes + serviceAccount: strimzi-cluster-operator + + leaderElection: + enable: true + + # https://kubernetes.io/docs/tasks/run-application/configure-pdb/ + podDisruptionBudget: + enabled: false + # The PDB definition only has two attributes to control the availability requirements: minAvailable or maxUnavailable (mutually exclusive). + # Field maxUnavailable tells how many pods can be down and minAvailable tells how many pods must be running in a cluster. + + # The pdb template will check values according to below order + # + # {{- if .Values.podDisruptionBudget.minAvailable }} + # minAvailable: {{ .Values.podDisruptionBudget.minAvailable }} + # {{- end }} + # {{- if .Values.podDisruptionBudget.maxUnavailable }} + # maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }} + # {{- end }} + # + # If both values are set, the template will use the first one and ignore the second one. currently by default minAvailable is set to 1 + minAvailable: 1 + maxUnavailable: + + # If you are using the grafana dashboard sidecar, + # you can import some default dashboards here + dashboards: + enabled: false + namespace: ~ + label: grafana_dashboard # this is the default value from the grafana chart + labelValue: "1" # this is the default value from the grafana chart + annotations: {} + extraLabels: {} + + # Docker images that operator uses to provision various components of Strimzi. To use your own registry prefix the + # repository name with your registry URL. + # Ex) repository: registry.xyzcorp.com/strimzi/kafka + kafka: + image: + registry: "" + repository: "" + name: kafka + tagPrefix: "" + kafkaConnect: + image: + registry: "" + repository: "" + name: kafka + tagPrefix: "" + topicOperator: + image: + registry: "" + repository: "" + name: operator + tag: "" + userOperator: + image: + registry: + repository: + name: operator + tag: "" + kafkaInit: + image: + registry: "" + repository: "" + name: operator + tag: "" + tlsSidecarEntityOperator: + image: + registry: "" + repository: "" + name: kafka + tagPrefix: "" + kafkaMirrorMaker: + image: + registry: "" + repository: "" + name: kafka + tagPrefix: "" + kafkaBridge: + image: + registry: "" + repository: + name: kafka-bridge + tag: 0.28.0 + kafkaExporter: + image: + registry: "" + repository: "" + name: kafka + tagPrefix: "" + kafkaMirrorMaker2: + image: + registry: "" + repository: "" + name: kafka + tagPrefix: "" + cruiseControl: + image: + registry: "" + repository: "" + name: kafka + tagPrefix: "" + kanikoExecutor: + image: + registry: "" + repository: "" + name: kaniko-executor + tag: "" + mavenBuilder: + image: + registry: "" + repository: "" + name: maven-builder + tag: "" + resources: + limits: + memory: 384Mi + cpu: 1000m + requests: + memory: 384Mi + cpu: 200m + livenessProbe: + initialDelaySeconds: 10 + periodSeconds: 30 + readinessProbe: + initialDelaySeconds: 10 + periodSeconds: 30 + + createGlobalResources: true + # Create clusterroles that extend existing clusterroles to interact with strimzi crds + # Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles + createAggregateRoles: false + # Override the exclude pattern for exclude some labels + labelsExclusionPattern: "" + # Controls whether Strimzi generates network policy resources (By default true) + generateNetworkPolicy: true + # Override the value for Connect build timeout + connectBuildTimeoutMs: 300000 \ No newline at end of file