Според stable/postgresql
helm диаграма, initdbScripts
е речник на имената на начални скриптове, които са многоредови променливи:
Да приемем, че имаме следния init.sql
скрипт:
CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;
Когато ще инжектираме многоредов текст в стойности, трябва да се справим с отстъпа в YAML.
За горния частен случай това е:
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
Има известно обяснение на горния пример:
- Ако името на скрипта има
.
трябва да се екранира, като"init\.sql"
. - Съдържанието на скрипта е в двойни кавички, тъй като е многоредова низова променлива.