Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add: strmzi #266

Merged
merged 2 commits into from
Nov 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .wordlist-md
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ serverless
serviceaccount
servicemesh
sfdc
strimzi
sublicense
tekton
templating
Expand Down
52 changes: 52 additions & 0 deletions strimzi-kafka-operator/INFO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# strimzi-kafka-operator

Strimzi provides a way to run an [Apache Kafka®](https://kafka.apache.org) cluster on [Kubernetes](https://kubernetes.io/) or [OpenShift](https://www.openshift.com/) in various deployment configurations. See our [website](https://strimzi.io) for more details about the project.

**Strimzi 0.34 supports only Kubernetes 1.19 and newer! Kubernetes versions 1.16, 1.17 and 1.18 are not supported anymore since Strimzi 0.32.**
### Upgrades
**!!! IMPORTANT !!!** **Direct upgrade from Strimzi 0.22 or earlier is not supported anymore!** You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the [documentation](https://strimzi.io/docs/operators/0.34.0/deploying.html#assembly-upgrade-str).
### New in 0.34
* Add support for Apache Kafka 3.4.0 (fixes CVE-2023-25194) and remove support for Apache Kafka 3.2.x
* Stable Pod identities for Kafka Connect and MirrorMaker 2 (disabled by default)
* Use JDK HTTP client in the Kubernetes client instead of the OkHttp client
* Add truststore configuration for HTTPS connections to Open Policy Agent server
* Update Strimzi HTTP Bridge to 0.25.0 and strimzi Oauth to 0.12.0
### 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 HTTP protocol.
* **Cluster Rebalancing** - Uses built-in Cruise Control for redistributing partition replicas according to specified goals in order to achieve the best cluster performance.
* **Monitoring** - Built-in support for monitoring using Prometheus and provided Grafana dashboards
### Upgrading your Clusters
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.
### Storage
An efficient data storage infrastructure is essential to the optimal performance of Apache Kafka®. Apache Kafka® deployed via Strimzi requires block storage. The use of file storage (for example, NFS) is not recommended.
The Strimzi Operator supports three types of data storage:
* Ephemeral (Recommended for development only!)
* Persistent
* JBOD (Just a Bunch of Disks, suitable for Kafka only. Not supported in Zookeeper.)
Strimzi also supports advanced operations such as adding or removing disks in Apache Kafka® brokers or resizing the persistent volumes (where supported by the infrastructure).
### Documentation
Documentation to the current _main_ branch as well as all releases can be found on our [website](https://strimzi.io/documentation).
### 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)
### Contributing
You can contribute by:
* Raising any issues you find using Strimzi
* Fixing issues by opening Pull Requests
* Improving documentation
* Talking about Strimzi
All bugs, tasks or enhancements are tracked as [GitHub issues](https://github.com/strimzi/strimzi-kafka-operator/issues). Issues which might be a good start for new contributors are marked with ["good-start"](https://github.com/strimzi/strimzi-kafka-operator/labels/good-start) label.
The [Development guide](https://github.com/strimzi/strimzi-kafka-operator/blob/main/development-docs/DEV_GUIDE.md) describes how to build Strimzi and how to test your changes before submitting a patch or opening a PR.
The [Documentation Contributor Guide](https://strimzi.io/contributing/guide/) describes how to contribute to Strimzi documentation.
If you want to get in touch with us first before contributing, you can use:
* [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)
### License
Strimzi is licensed under the [Apache License, Version 2.0](https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE).
44 changes: 44 additions & 0 deletions strimzi-kafka-operator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Strimzi

Install Strimzi.

Do not use the `base` directory directly, as you will need to patch the `channel` based on the version of OpenShift you are using, or the version of the operator you want to use.

The current *overlays* available are for the following channels:

* [stable](operator/overlays/stable)
* [strimzi-0.23.x](operator/overlays/strimzi-0.23.x)
* [strimzi-0.24.x](operator/overlays/strimzi-0.24.x)
* [strimzi-0.25.x](operator/overlays/strimzi-0.25.x)
* [strimzi-0.26.x](operator/overlays/strimzi-0.26.x)
* [strimzi-0.27.x](operator/overlays/strimzi-0.27.x)
* [strimzi-0.28.x](operator/overlays/strimzi-0.28.x)
* [strimzi-0.29.x](operator/overlays/strimzi-0.29.x)
* [strimzi-0.30.x](operator/overlays/strimzi-0.30.x)
* [strimzi-0.31.x](operator/overlays/strimzi-0.31.x)
* [strimzi-0.32.x](operator/overlays/strimzi-0.32.x)
* [strimzi-0.33.x](operator/overlays/strimzi-0.33.x)
* [strimzi-0.34.x](operator/overlays/strimzi-0.34.x)

## Usage

If you have cloned the `gitops-catalog` repository, you can install Strimzi based on the overlay of your choice by running from the root (`gitops-catalog`) directory.

```
oc apply -k strimzi-kafka-operator/operator/overlays/<channel>
```

Or, without cloning:

```
oc apply -k https://github.com/redhat-cop/gitops-catalog/strimzi-kafka-operator/operator/overlays/<channel>
```

As part of a different overlay in your own GitOps repo:

```
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/redhat-cop/gitops-catalog/strimzi-kafka-operator/operator/overlays/<channel>?ref=main
```
7 changes: 7 additions & 0 deletions strimzi-kafka-operator/operator/base/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- namespace.yaml
- operator-group.yaml
- subscription.yaml
8 changes: 8 additions & 0 deletions strimzi-kafka-operator/operator/base/namespace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v1
kind: Namespace
metadata:
annotations:
openshift.io/display-name: "Strimzi"
labels:
openshift.io/cluster-monitoring: 'true'
name: strimzi-kafka-operator
5 changes: 5 additions & 0 deletions strimzi-kafka-operator/operator/base/operator-group.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: strimzi-kafka-operator-group
namespace: strimzi-kafka-operator
11 changes: 11 additions & 0 deletions strimzi-kafka-operator/operator/base/subscription.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: strimzi-kafka-operator
namespace: strimzi-kafka-operator
spec:
channel: patch-me-see-overlays-dir
installPlanApproval: Automatic
name: strimzi-kafka-operator
source: community-operators
sourceNamespace: openshift-marketplace
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: stable
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.23.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.24.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.25.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.26.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.27.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.28.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.29.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.30.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.31.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.32.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.33.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patches:
- target:
kind: Subscription
name: strimzi-kafka-operator
path: patch-channel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- op: replace
path: /spec/channel
value: strimzi-0.34.x
Loading