iac/clusters/yc-k8s-test/infrastructure/patches/kafka.yaml
2026-04-15 15:17:32 +03:00

75 lines
2.5 KiB
YAML

apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: kafka
namespace: kafka
spec:
interval: 5m
timeout: 10m
values:
defaultInitContainers:
prepareConfig:
extraInit: |
set -euxo pipefail
perl -0pi -e 's/password="\s*([^"\n]+)"/password="$1"/g' /config/server.properties
perl -0pi -e 's/user_controller_user="\s*([^"\n]+)"/user_controller_user="$1"/g' /config/server.properties
perl -0pi -e 's/user_inter_broker_user="\s*([^"\n]+)"/user_inter_broker_user="$1"/g' /config/server.properties
perl -0pi -e 's/node\.id=(\d+)ssl\.keystore\.key=/node.id=$1\nssl.keystore.key=/g' /config/server.properties
sed -i '/^ssl\.keystore\.key=/d' /config/server.properties
sed -i '/^ssl\.keystore\.certificate\.chain=/d' /config/server.properties
sed -i '/^ssl\.truststore\.certificates=/d' /config/server.properties
openssl pkcs8 -topk8 -nocrypt -in /mounted-certs/tls.key -out /tmp/tls.key.pk8
openssl pkey -in /tmp/tls.key.pk8 -text -noout >/dev/null
openssl pkey -in /tmp/tls.key.pk8 -pubout -out /tmp/key.pub
openssl x509 -in /mounted-certs/tls.crt -pubkey -noout > /tmp/cert.pub
diff -u /tmp/key.pub /tmp/cert.pub >/dev/null
append_multiline_property "ssl.keystore.key" "/tmp/tls.key.pk8"
append_multiline_property "ssl.keystore.certificate.chain" "/mounted-certs/tls.crt"
append_multiline_property "ssl.truststore.certificates" "/mounted-certs/ca.crt"
global:
imagePullSecrets:
- regcred
defaultStorageClass: local-path
image:
pullSecrets:
- regcred
controller:
replicaCount: 1
automountServiceAccountToken: true
persistence:
size: 8Gi
storageClass: local-path
broker:
replicaCount: 0
automountServiceAccountToken: true
listeners:
client:
protocol: SASL_SSL
provisioning:
enabled: false
sasl:
managedExistingSecret:
enabled: false
existingSecret: ""
enabledMechanisms: PLAIN,SCRAM-SHA-512
interBrokerMechanism: PLAIN
controllerMechanism: PLAIN
client:
users: []
passwords: ""
tls:
type: PEM
vault:
enabled: true
role: kafka
authPath: auth/kubernetes
secretPath: secrets/data/kafka/bootstrap
clusterIdKey: clusterId
interBrokerPasswordKey: interBrokerPassword
controllerPasswordKey: controllerPassword