Skip to content

Commit f4e3bb3

Browse files
Use adobe's kafka-operator and zookeeper-operator
Issue: ZENKO-5188
1 parent 5b09a0a commit f4e3bb3

File tree

3 files changed

+21
-68
lines changed

3 files changed

+21
-68
lines changed

.github/scripts/end2end/install-kind-dependencies.sh

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ VERSION_FILE="${REPOSITORY_DIR}/VERSION"
1010

1111
source "${VERSION_FILE}"
1212

13-
ZK_OPERATOR_VERSION=0.2.15
13+
ZK_OPERATOR_VERSION=0.2.15-adobe-20250923
14+
ZK_OPERATOR_CHART=oci://ghcr.io/adobe/helm-charts/zookeeper-operator
1415
CERT_MANAGER_VERSION=v1.13.3
15-
KAFKA_OPERATOR_VERSION=0.25.1
16+
KAFKA_OPERATOR_VERSION=0.28.0-adobe-20251203
17+
KAFKA_OPERATOR_CHART=oci://ghcr.io/adobe/helm-charts/kafka-operator
1618
INGRESS_NGINX_VERSION=controller-v1.10.3
1719
PROMETHEUS_VERSION=v0.52.1
1820
KEYCLOAK_VERSION=${KEYCLOAK_VERSION:-'18.4.4'}
@@ -35,29 +37,13 @@ MONGODB_SHARD_COUNT=${MONGODB_SHARD_COUNT:-1}
3537

3638
ENABLE_KEYCLOAK_HTTPS=${ENABLE_KEYCLOAK_HTTPS:-'false'}
3739

38-
KAFKA_CHART=banzaicloud-stable/kafka-operator
39-
4040
if [ $ENABLE_KEYCLOAK_HTTPS == 'true' ]; then
4141
KEYCLOAK_INGRESS_OPTIONS="$DIR/configs/keycloak_ingress_https.yaml"
4242
else
4343
KEYCLOAK_INGRESS_OPTIONS="$DIR/configs/keycloak_ingress_http.yaml"
4444
fi
4545

46-
helm repo add --force-update bitnami https://charts.bitnami.com/bitnami
47-
helm repo add --force-update pravega https://charts.pravega.io
4846
helm repo add --force-update codecentric https://codecentric.github.io/helm-charts/
49-
# BanzaiCloud repo may not work, c.f. https://scality.atlassian.net/browse/AN-225
50-
helm repo add --force-update banzaicloud-stable https://kubernetes-charts.banzaicloud.com || {
51-
echo -n "::notice file=$(basename $0),line=$LINENO,title=Banzaicloud Charts not available::"
52-
echo "Failed to add banzaicloud-stable repo, using local checkout"
53-
54-
kafka_operator="$(mktemp -d)"
55-
git -c advice.detachedHead=false clone -q --depth 1 -b "v${KAFKA_OPERATOR_VERSION}" \
56-
https://github.com/banzaicloud/koperator "${kafka_operator}"
57-
58-
KAFKA_CHART="${kafka_operator}/charts/kafka-operator"
59-
}
60-
helm repo update
6147

6248
# nginx-controller
6349
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/${INGRESS_NGINX_VERSION}/deploy/static/provider/kind/deploy.yaml
@@ -127,12 +113,16 @@ kubectl wait --for=condition=established --timeout=10m crd/alertmanagers.monitor
127113
envsubst < configs/prometheus.yaml | kubectl apply -f -
128114

129115
# zookeeper
130-
helm upgrade --install --version ${ZK_OPERATOR_VERSION} -n default zk-operator pravega/zookeeper-operator --set "watchNamespace=default"
131-
132-
# kafka
133-
kafka_crd_url=https://github.com/banzaicloud/koperator/releases/download/v${KAFKA_OPERATOR_VERSION}/kafka-operator.crds.yaml
134-
kubectl create -f $kafka_crd_url || kubectl replace -f $kafka_crd_url
135-
helm upgrade --install --version ${KAFKA_OPERATOR_VERSION} -n default kafka-operator ${KAFKA_CHART}
116+
# Use Adobe's OCI Helm chart from GitHub Container Registry
117+
helm upgrade --install --version ${ZK_OPERATOR_VERSION} -n default zk-operator ${ZK_OPERATOR_CHART} --set "watchNamespace=default"
118+
119+
# kafka (also requires Contour CRDs)
120+
kubectl apply -f https://raw.githubusercontent.com/projectcontour/contour/refs/heads/main/examples/contour/01-crds.yaml
121+
for crd in cruisecontroloperations kafkaclusters kafkatopics kafkausers ; do
122+
kafka_crd_url=https://github.com/adobe/koperator/raw/refs/tags/${KAFKA_OPERATOR_VERSION}/master/config/base/crds/kafka.banzaicloud.io_${crd}.yaml
123+
kubectl create -f $kafka_crd_url || kubectl replace -f $kafka_crd_url
124+
done
125+
helm upgrade --install --version ${KAFKA_OPERATOR_VERSION} -n default kafka-operator ${KAFKA_OPERATOR_CHART}
136126

137127
# keycloak
138128
envsubst < $DIR/configs/keycloak_config.json > $DIR/configs/keycloak-realm.json

solution/deps.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ haproxy:
3939
tag: 3.0.12-alpine
4040
envsubst: HAPROXY_TAG
4141
jmx-javaagent:
42-
sourceRegistry: ghcr.io/banzaicloud
42+
sourceRegistry: ghcr.io/adobe/koperator
4343
image: jmx-javaagent
44-
tag: 0.16.1
44+
tag: 1.4.0
4545
envsubst: JMX_JAVAAGENT_TAG
4646
kaf: # CLI Kafka client all-in-one
4747
tag: 0.2.8
@@ -51,7 +51,7 @@ kaf: # CLI Kafka client all-in-one
5151
kafka:
5252
sourceRegistry: ghcr.io/scality/zenko
5353
image: kafka
54-
tag: 2.13-3.1.2
54+
tag: 2.13-3.9.1
5555
envsubst: KAFKA_TAG
5656
kafka-cleaner:
5757
sourceRegistry: ghcr.io/scality
@@ -62,7 +62,7 @@ kafka-cleaner:
6262
kafka-connect:
6363
sourceRegistry: ghcr.io/scality/zenko
6464
image: kafka-connect
65-
tag: 2.13-3.1.2-1.13.0
65+
tag: 2.13-3.9.1-1.13.0
6666
envsubst: KAFKA_CONNECT_TAG
6767
kafka-cruise-control:
6868
sourceRegistry: ghcr.io/banzaicloud

solution/kafka/Dockerfile

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,7 @@
1-
FROM alpine:3.17 AS kafka_dist
2-
3-
ARG scala_version=2.13
4-
ARG kafka_version=3.1.0
5-
ARG kafka_distro_base_url=https://archive.apache.org/dist/kafka
6-
7-
ENV kafka_distro=kafka_$scala_version-$kafka_version.tgz
8-
ENV kafka_distro_asc=$kafka_distro.asc
9-
10-
RUN apk add --no-cache gnupg
11-
12-
WORKDIR /var/tmp
13-
14-
RUN wget -q $kafka_distro_base_url/$kafka_version/$kafka_distro
15-
RUN wget -q $kafka_distro_base_url/$kafka_version/$kafka_distro_asc
16-
RUN wget -q $kafka_distro_base_url/KEYS
17-
18-
RUN gpg --import KEYS
19-
RUN gpg --verify $kafka_distro_asc $kafka_distro
20-
21-
RUN tar -xzf $kafka_distro
22-
RUN rm -r kafka_$scala_version-$kafka_version/bin/windows
23-
24-
####################################################################################################
25-
FROM eclipse-temurin:17.0.18_8-jre
26-
271
ARG scala_version=2.13
28-
ARG kafka_version=3.1.0
29-
30-
ENV KAFKA_VERSION=$kafka_version \
31-
SCALA_VERSION=$scala_version \
32-
KAFKA_HOME=/opt/kafka \
33-
KAFKA_GC_LOG_OPTS=-Dnogclog
2+
ARG kafka_version=3.9.1
343

35-
ENV PATH=${PATH}:${KAFKA_HOME}/bin
4+
FROM ghcr.io/adobe/koperator/kafka:${scala_version}-${kafka_version}
365

37-
RUN mkdir ${KAFKA_HOME} && apt-get update && apt-get install curl -y && apt-get clean
38-
39-
COPY --from=kafka_dist /var/tmp/kafka_$scala_version-$kafka_version ${KAFKA_HOME}
6+
ENV KAFKA_GC_LOG_OPTS=-Dnogclog
407
COPY log4j.properties ${KAFKA_HOME}/config/
41-
42-
RUN chmod a+x ${KAFKA_HOME}/bin/*.sh
43-
44-
CMD ["kafka-server-start.sh"]

0 commit comments

Comments
 (0)