Selon stable/postgresql
graphique helm, initdbScripts
est un dictionnaire de noms de scripts d'initialisation qui sont des variables multilignes :
Supposons que nous ayons le init.sql
suivant script :
CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;
Lorsque nous allons injecter un texte multiligne dans des valeurs, nous devons gérer l'indentation dans YAML.
Pour le cas particulier ci-dessus, il s'agit :
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
Il y a une explication à l'exemple ci-dessus :
- Si le nom du script a
.
il doit être échappé, comme"init\.sql"
. - Le contenu du script est entre guillemets, car il s'agit d'une variable de chaîne multiligne.