Ifølge stable/postgresql
styrdiagram, initdbScripts
er en ordbog over init-scriptnavne, som er multi-line variable:
Lad os antage, at vi har følgende init.sql
script:
CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;
Når vi skal indsætte en tekst med flere linjer i værdier, skal vi håndtere indrykning i YAML.
For ovenstående særlige tilfælde er det:
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
Der er en forklaring på ovenstående eksempel:
- Hvis scriptets navn har
.
det skal escapes, som"init\.sql"
. - Scriptets indhold er i dobbelte anførselstegn, fordi det er en strengvariabel med flere linjer.