From 69d4144a59301ed5b685297fb286e262b82c5ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <soeren.henning@email.uni-kiel.de> Date: Thu, 16 Jun 2022 13:52:18 +0200 Subject: [PATCH] Add custom schema registry --- .../kafka/schema-registry-deployment.yaml | 59 +++++++++++++++++++ .../kafka/schema-registry-service.yaml | 14 +++++ helm/values.yaml | 22 ++++++- 3 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 helm/templates/kafka/schema-registry-deployment.yaml create mode 100644 helm/templates/kafka/schema-registry-service.yaml diff --git a/helm/templates/kafka/schema-registry-deployment.yaml b/helm/templates/kafka/schema-registry-deployment.yaml new file mode 100644 index 000000000..e59acdb7e --- /dev/null +++ b/helm/templates/kafka/schema-registry-deployment.yaml @@ -0,0 +1,59 @@ +{{- if .Values.strimzi.schemaRegistry.enabled -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "theodolite.fullname" . }}-kafka-schema-registry + labels: + app: schema-registry +spec: + replicas: {{ .Values.strimzi.schemaRegistry.replicaCount }} + selector: + matchLabels: + app: schema-registry + template: + metadata: + labels: + app: schema-registry + spec: + securityContext: + {{- if .Values.strimzi.schemaRegistry.securityContext }} +{{ toYaml .Values.strimzi.schemaRegistry.securityContext | indent 8 }} + {{- end}} + containers: + - name: {{ template "theodolite.fullname" . }}-kafka-schema-registry-server + image: "{{ .Values.strimzi.schemaRegistry.image }}:{{ .Values.strimzi.schemaRegistry.imageTag }}" + imagePullPolicy: "{{ .Values.strimzi.schemaRegistry.imagePullPolicy }}" + ports: + - name: schema-registry + containerPort: {{ .Values.strimzi.schemaRegistry.servicePort }} + protocol: TCP + resources: +{{ toYaml .Values.strimzi.schemaRegistry.resources | indent 12 }} + env: + - name: SCHEMA_REGISTRY_HOST_NAME + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: SCHEMA_REGISTRY_LISTENERS + value: http://0.0.0.0:{{ .Values.strimzi.schemaRegistry.servicePort }} + - name: SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS + value: {{ template "theodolite.fullname" . }}-kafka-kafka-bootstrap:9092 + - name: SCHEMA_REGISTRY_KAFKASTORE_GROUP_ID + value: {{ template "theodolite.fullname" . }} + - name: SCHEMA_REGISTRY_MASTER_ELIGIBILITY + value: "true" + - name: SCHEMA_REGISTRY_HEAP_OPTS + value: "{{ .Values.strimzi.schemaRegistry.heapOptions }}" + {{- if .Values.strimzi.schemaRegistry.nodeSelector }} + nodeSelector: +{{ toYaml .Values.strimzi.schemaRegistry.nodeSelector | indent 8 }} + {{- end }} + {{- if .Values.strimzi.schemaRegistry.tolerations }} + tolerations: +{{ toYaml .Values.strimzi.schemaRegistry.tolerations | indent 8 }} + {{- end }} + {{- if .Values.strimzi.schemaRegistry.affinity }} + affinity: +{{ toYaml .Values.strimzi.schemaRegistry.affinity | indent 8 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/kafka/schema-registry-service.yaml b/helm/templates/kafka/schema-registry-service.yaml new file mode 100644 index 000000000..ccee27f47 --- /dev/null +++ b/helm/templates/kafka/schema-registry-service.yaml @@ -0,0 +1,14 @@ +{{- if .Values.strimzi.schemaRegistry.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "theodolite.fullname" . }}-kafka-schema-registry + labels: + app: schema-registry +spec: + ports: + - name: schema-registry + port: {{ .Values.strimzi.schemaRegistry.servicePort }} + selector: + app: schema-registry +{{- end }} \ No newline at end of file diff --git a/helm/values.yaml b/helm/values.yaml index eb4cfc4b2..995408344 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -122,7 +122,7 @@ cp-helm-charts: ## Schema Registry ## ------------------------------------------------------ cp-schema-registry: - enabled: true + enabled: false nodeSelector: {} image: confluentinc/cp-schema-registry imageTag: 5.4.0 @@ -194,6 +194,26 @@ strimzi: topicOperator: enabled: true + schemaRegistry: + enabled: true + replicaCount: 1 + ## ref: https://hub.docker.com/r/confluentinc/cp-schema-registry/ + image: confluentinc/cp-schema-registry + #imageTag: 6.1.0 + imageTag: 5.4.0 + imagePullPolicy: IfNotPresent + servicePort: 8081 + heapOptions: "-Xms512M -Xmx512M" + resources: {} + nodeSelector: {} + tolerations: [] + affinity: {} + securityContext: + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + runAsNonRoot: true + ### # Prometheus Monitoring Stack (Prometheus Operator) -- GitLab