iac/clusters/yc-k8s-test/infrastructure/patches/kafka.yaml
2026-04-15 14:41:47 +03:00

72 lines
2.4 KiB
YAML

apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: kafka
namespace: kafka
spec:
interval: 5m
timeout: 10m
values:
defaultInitContainers:
prepareConfig:
extraInit: |
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
openssl pkcs8 -topk8 -nocrypt -in /mounted-certs/tls.key -out /tmp/tls.key.pk8
key="$(awk '{sub(/\r$/, ""); printf "%s\\\\n", $0 }' /tmp/tls.key.pk8)"
crt="$(awk '{sub(/\r$/, ""); printf "%s\\\\n", $0 }' /mounted-certs/tls.crt)"
ca="$(awk '{sub(/\r$/, ""); printf "%s\\\\n", $0 }' /mounted-certs/ca.crt)"
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
printf 'ssl.keystore.key=%s\n' "$key" >> /config/server.properties
printf 'ssl.keystore.certificate.chain=%s\n' "$crt" >> /config/server.properties
printf 'ssl.truststore.certificates=%s\n' "$ca" >> /config/server.properties
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