Skip to content

Commit b92a726

Browse files
committed
feat(helm): add Gateway API and Istio native resource toggles, enable TCPRoute and VirtualService adjustments
1 parent 5c8d97b commit b92a726

3 files changed

Lines changed: 17 additions & 3 deletions

File tree

kafka/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ Key toggles:
2121
- `mirrorMaker.enabled`
2222
- `istio.enabled` with opt-in `HTTPRoute`, `TCPRoute`, `VirtualService`, `DestinationRule`, `PeerAuthentication`, and `AuthorizationPolicy` resources
2323

24+
API-family switches:
25+
26+
- Gateway API only: `istio.enabled=true`, `istio.gatewayApi.enabled=true`, `istio.native.enabled=false`
27+
- Istio native only: `istio.enabled=true`, `istio.gatewayApi.enabled=false`, `istio.native.enabled=true`
28+
- Mixed: keep both enabled and enable only the individual resources available in the cluster
29+
2430
For production, prefer providing an external Kerberos secret or RWX volume containing `client/krb5.conf` and service keytabs. When using a secret, set `kerberos.existingSecret` and map keys into nested paths with `kerberos.existingSecretItems`, for example `[{key: krb5.conf, path: client/krb5.conf}, {key: kafka-0.keytab, path: keytabs/kafka-0.keytab}]`.
2531

2632
Kerberos clients should use the StatefulSet broker DNS names from the headless service. If exposing Kafka through an Istio TCP route, add a matching `kafka/<external-host>@REALM` service principal and keytab, or override the advertised listener and Kerberos principal pattern accordingly.

kafka/templates/istio.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
{{- $fullname := include "kafka.fullname" . }}
44
{{- $labels := include "kafka.labels" . }}
55
{{- $parentRefs := .Values.istio.parentRefs }}
6+
{{- if .Values.istio.gatewayApi.enabled }}
67
{{- range $name, $route := .Values.istio.httpRoutes }}
78
{{- if $route.enabled }}
89
---
@@ -83,6 +84,8 @@ spec:
8384
{{- end }}
8485
{{- end }}
8586
{{- end }}
87+
{{- end }}
88+
{{- if .Values.istio.native.enabled }}
8689
{{- if .Values.istio.destinationRules.enabled }}
8790
{{- range .Values.istio.destinationRules.rules }}
8891
---
@@ -212,7 +215,8 @@ spec:
212215
{{- with .rules }}
213216
rules:
214217
{{- toYaml . | nindent 4 }}
215-
{{- end }}
218+
{{- end }}
219+
{{- end }}
216220
{{- end }}
217221
{{- end }}
218222
{{- end }}

kafka/values.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,10 @@ istio:
225225
namespace: ""
226226
labels: {}
227227
annotations: {}
228+
gatewayApi:
229+
enabled: true
230+
native:
231+
enabled: true
228232
parentRefs:
229233
- name: k8s-infra-gateway
230234
namespace: istio-ingress
@@ -251,7 +255,7 @@ istio:
251255

252256
tcpRoutes:
253257
kafka:
254-
enabled: true
258+
enabled: false
255259
apiVersion: gateway.networking.k8s.io/v1alpha2
256260
nameOverride: ""
257261
rules:
@@ -260,7 +264,7 @@ istio:
260264
port: 9092
261265

262266
virtualServices:
263-
enabled: false
267+
enabled: true
264268
apiVersion: networking.istio.io/v1
265269
services: []
266270
# - name: kafka-tcp

0 commit comments

Comments
 (0)