efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 1 | {{/* |
| 2 | # Copyright © 2022 Nordix Foundation |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | */}} |
| 16 | apiVersion: kafka.strimzi.io/v1beta2 |
| 17 | kind: Kafka |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 18 | metadata: {{- include "common.resourceMetadata" . | nindent 2 }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 19 | spec: |
| 20 | kafka: |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 21 | version: {{ .Values.config.kafkaVersion }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 22 | replicas: {{ .Values.replicaCount }} |
| 23 | listeners: |
| 24 | - name: plain |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 25 | port: {{ .Values.config.kafkaInternalPort }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 26 | type: internal |
| 27 | tls: false |
| 28 | authentication: |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 29 | type: {{ .Values.config.saslMechanism }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 30 | - name: tls |
| 31 | port: 9093 |
| 32 | type: internal |
| 33 | tls: true |
| 34 | authentication: |
| 35 | type: tls |
| 36 | - name: external |
| 37 | port: 9094 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 38 | type: {{ if (include "common.ingressEnabled" .) }}cluster-ip{{ else }}nodeport{{ end }} |
Andreas Geissler | 2900765 | 2023-03-23 14:05:45 +0100 | [diff] [blame] | 39 | tls: {{ if (include "common.ingressEnabled" .) }}false{{ else }}true{{ end }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 40 | authentication: |
Andreas Geissler | 2900765 | 2023-03-23 14:05:45 +0100 | [diff] [blame] | 41 | type: {{ if (include "common.ingressEnabled" .) }}{{ .Values.config.saslMechanism }}{{ else }}tls{{ end }} |
efiacor | af68a7e | 2022-04-08 10:59:52 +0100 | [diff] [blame] | 42 | configuration: |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 43 | {{- if not (include "common.ingressEnabled" .) }} |
efiacor | af68a7e | 2022-04-08 10:59:52 +0100 | [diff] [blame] | 44 | bootstrap: |
Andreas Geissler | 8cd7e26 | 2022-09-13 13:24:50 +0200 | [diff] [blame] | 45 | nodePort: {{ .Values.global.nodePortPrefixExt }}93 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 46 | {{- end }} |
efiacor | af68a7e | 2022-04-08 10:59:52 +0100 | [diff] [blame] | 47 | brokers: |
| 48 | - broker: 0 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 49 | advertisedHost: {{ .Values.config.advertisedHost }} |
| 50 | advertisedPort: {{ .Values.config.advertizedPortBroker0 }} |
| 51 | {{- if not (include "common.ingressEnabled" .) }} |
Andreas Geissler | 8cd7e26 | 2022-09-13 13:24:50 +0200 | [diff] [blame] | 52 | nodePort: {{ .Values.global.nodePortPrefixExt }}90 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 53 | {{- end }} |
efiacor | af68a7e | 2022-04-08 10:59:52 +0100 | [diff] [blame] | 54 | - broker: 1 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 55 | advertisedHost: {{ .Values.config.advertisedHost }} |
| 56 | advertisedPort: {{ .Values.config.advertizedPortBroker1 }} |
| 57 | {{- if not (include "common.ingressEnabled" .) }} |
Andreas Geissler | 8cd7e26 | 2022-09-13 13:24:50 +0200 | [diff] [blame] | 58 | nodePort: {{ .Values.global.nodePortPrefixExt }}91 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 59 | {{- end }} |
Andreas Geissler | 8cd7e26 | 2022-09-13 13:24:50 +0200 | [diff] [blame] | 60 | - broker: 2 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 61 | advertisedHost: {{ .Values.config.advertisedHost }} |
| 62 | advertisedPort: {{ .Values.config.advertizedPortBroker2 }} |
| 63 | {{- if not (include "common.ingressEnabled" .) }} |
Andreas Geissler | 8cd7e26 | 2022-09-13 13:24:50 +0200 | [diff] [blame] | 64 | nodePort: {{ .Values.global.nodePortPrefixExt }}92 |
Andreas Geissler | eb68c40 | 2023-02-23 11:09:01 +0100 | [diff] [blame] | 65 | {{- end }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 66 | authorization: |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 67 | type: {{ .Values.config.authType }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 68 | superUsers: |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 69 | - {{ .Values.config.strimziKafkaAdminUser }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 70 | template: |
| 71 | pod: |
| 72 | securityContext: |
| 73 | runAsUser: 0 |
| 74 | fsGroup: 0 |
| 75 | config: |
efiacor | 23361a3 | 2022-03-14 13:44:02 +0000 | [diff] [blame] | 76 | default.replication.factor: {{ .Values.replicaCount }} |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 77 | min.insync.replicas: {{ (eq 1.0 (.Values.replicaCount)) | ternary 1 (sub .Values.replicaCount 1) }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 78 | offsets.topic.replication.factor: {{ .Values.replicaCount }} |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 79 | num.partitions: {{ mul .Values.replicaCount 2 }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 80 | transaction.state.log.replication.factor: {{ .Values.replicaCount }} |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 81 | transaction.state.log.min.isr: {{ (eq 1.0 (.Values.replicaCount)) | ternary 1 (sub .Values.replicaCount 1) }} |
| 82 | log.message.format.version: {{ .Values.config.kafkaVersion }} |
| 83 | inter.broker.protocol.version: {{ .Values.config.kafkaVersion }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 84 | storage: |
| 85 | type: jbod |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 86 | volumes: |
| 87 | - id: 0 |
| 88 | type: persistent-claim |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 89 | size: {{ .Values.persistence.kafka.size }} |
efiacor | b7a43e2 | 2022-04-01 17:41:48 +0100 | [diff] [blame] | 90 | deleteClaim: true |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 91 | class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistence.kafka) }} |
miroslavmasaryk | aa5f0fa | 2023-03-20 10:21:36 +0100 | [diff] [blame] | 92 | {{- if .Values.metrics.kafkaExporter.enabled }} |
| 93 | metricsConfig: |
| 94 | type: {{ .Values.metrics.kafkaExporter.metricsConfig.type }} |
| 95 | valueFrom: |
| 96 | configMapKeyRef: |
| 97 | name: {{ include "common.fullname" . }} |
| 98 | key: kafka-metrics-config.yml |
| 99 | {{- end }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 100 | zookeeper: |
| 101 | template: |
| 102 | pod: |
| 103 | securityContext: |
| 104 | runAsUser: 0 |
| 105 | fsGroup: 0 |
| 106 | replicas: {{ .Values.replicaCount }} |
| 107 | config: |
| 108 | ssl.hostnameVerification: false |
efiacor | 1cfa2fb | 2022-06-01 16:02:39 +0100 | [diff] [blame] | 109 | ssl.quorum.hostnameVerification: false |
Andreas Geissler | 485f667 | 2022-04-06 13:12:48 +0200 | [diff] [blame] | 110 | {{- if (include "common.onServiceMesh" .) }} |
| 111 | sslQuorum: false |
| 112 | {{- end }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 113 | storage: |
| 114 | type: persistent-claim |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 115 | size: {{ .Values.persistence.zookeeper.size }} |
efiacor | b7a43e2 | 2022-04-01 17:41:48 +0100 | [diff] [blame] | 116 | deleteClaim: true |
efiacor | 57901a9 | 2022-11-14 16:17:15 +0000 | [diff] [blame] | 117 | class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistence.zookeeper) }} |
miroslavmasaryk | aa5f0fa | 2023-03-20 10:21:36 +0100 | [diff] [blame] | 118 | {{- if .Values.metrics.kafkaExporter.enabled }} |
| 119 | metricsConfig: |
| 120 | type: {{ .Values.metrics.kafkaExporter.metricsConfig.type }} |
| 121 | valueFrom: |
| 122 | configMapKeyRef: |
| 123 | name: {{ include "common.fullname" . }} |
| 124 | key: zookeeper-metrics-config.yml |
| 125 | {{- end }} |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame] | 126 | entityOperator: |
| 127 | topicOperator: {} |
| 128 | userOperator: {} |
miroslavmasaryk | aa5f0fa | 2023-03-20 10:21:36 +0100 | [diff] [blame] | 129 | {{- if .Values.cruiseControl.enabled }} |
| 130 | cruiseControl: |
| 131 | metricsConfig: |
| 132 | type: {{ .Values.cruiseControl.metricsConfig.type }} |
| 133 | valueFrom: |
| 134 | configMapKeyRef: |
| 135 | name: {{ include "common.fullname" . }} |
| 136 | key: cruisecontrol-metrics-config.yml |
| 137 | {{- end }} |
| 138 | {{- if .Values.metrics.kafkaExporter.enabled }} |
| 139 | kafkaExporter: |
| 140 | topicRegex: {{ .Values.metrics.kafkaExporter.topicRegex }} |
| 141 | groupRegex: {{ .Values.metrics.kafkaExporter.groupRegex }} |
| 142 | resources: |
| 143 | requests: |
| 144 | cpu: {{ .Values.metrics.kafkaExporter.resources.requests.cpu }} |
| 145 | memory: {{ .Values.metrics.kafkaExporter.resources.requests.memory }} |
| 146 | limits: |
| 147 | cpu: {{ .Values.metrics.kafkaExporter.resources.limits.cpu }} |
| 148 | memory: {{ .Values.metrics.kafkaExporter.resources.limits.memory }} |
| 149 | logging: {{ .Values.metrics.kafkaExporter.logging }} |
| 150 | enableSaramaLogging: {{ .Values.metrics.kafkaExporter.enableSaramaLogging }} |
| 151 | readinessProbe: |
| 152 | initialDelaySeconds: {{ .Values.metrics.kafkaExporter.readinessProbe.initialDelaySeconds }} |
| 153 | timeoutSeconds: {{ .Values.metrics.kafkaExporter.readinessProbe.timeoutSeconds }} |
| 154 | livenessProbe: |
| 155 | initialDelaySeconds: {{ .Values.metrics.kafkaExporter.livenessProbe.initialDelaySeconds }} |
| 156 | timeoutSeconds: {{ .Values.metrics.kafkaExporter.livenessProbe.timeoutSeconds }} |
| 157 | {{- end }} |