De acordo com stable/postgresql gráfico do leme,
initdbScripts
é um dicionário de nomes de scripts de inicialização que são variáveis de várias linhas:Vamos supor que temos o seguinte
init.sql
roteiro:CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;
Quando vamos injetar um texto de várias linhas em valores, precisamos lidar com o recuo em YAML.
Para o caso particular acima é:
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
Há alguma explicação para o exemplo acima:
- Se o nome do script tiver
.
deve ser escapado, como"init\.sql"
. - O conteúdo do script está entre aspas duplas, porque é uma variável de string de várias linhas.