refactor: use mongosh and --eval flag to run database user creation

This commit is contained in:
josegonzalez
2023-02-08 03:52:16 -05:00
committed by GitHub
parent eaf2ed7ce3
commit 46bbb1ca32

View File

@@ -145,7 +145,7 @@ service_create_container() {
dokku_log_verbose_quiet "Waiting for container to be ready"
"$DOCKER_BIN" container run "${LINK_CONTAINER_DOCKER_ARGS[@]}" "$PLUGIN_WAIT_IMAGE" -c "$SERVICE_NAME:$PLUGIN_DATASTORE_WAIT_PORT" >/dev/null
echo "db.createUser({user:'$SERVICE',pwd:'$PASSWORD',roles:[{role:'readWrite',db:'$DATABASE_NAME'}]})" | "$DOCKER_BIN" container exec -i "$SERVICE_NAME" mongo -u admin -p "$ROOTPASSWORD" --authenticationDatabase admin "$DATABASE_NAME" >/dev/null
"$DOCKER_BIN" container exec -i "$SERVICE_NAME" mongosh -u admin -p "$ROOTPASSWORD" --authenticationDatabase admin "$DATABASE_NAME" --eval "if (db.getUser('$SERVICE') == null) { db.createUser({user:'$SERVICE',pwd:'$PASSWORD',roles:[{role:'readWrite',db:'$DATABASE_NAME'}]}) }" >/dev/null
dokku_log_info2 "$PLUGIN_SERVICE container created: $SERVICE"
service_info "$SERVICE"
}