Według stable/postgresql
wykres steru, initdbScripts
to słownik nazw skryptów startowych, które są zmiennymi wielowierszowymi:
Załóżmy, że mamy następujący init.sql
skrypt:
CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;
Kiedy zamierzamy wstrzyknąć wielowierszowy tekst do wartości, musimy poradzić sobie z wcięciami w YAML.
W powyższym konkretnym przypadku jest to:
helm install stable/postgresql -n testpg \
--set global.postgresql.postgresqlDatabase=testpg \
--set global.postgresql.postgresqlUsername=testpg \
--set global.postgresql.postgresqlPassword=testpg \
--set global.postgresql.servicePort=5432 \
--set initdbScripts."init\.sql"="CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;" \
--set service.type=LoadBalancer
Istnieje pewne wyjaśnienie powyższego przykładu:
- Jeśli nazwa skryptu ma
.
powinien zostać zmieniony, jak"init\.sql"
. - Zawartość skryptu jest w podwójnych cudzysłowach, ponieważ jest to wielowierszowa zmienna łańcuchowa.