From 8e58c9718eb32d958d4ff47dc57798eba1724ff4 Mon Sep 17 00:00:00 2001 From: Sameer Naik Date: Sun, 4 Sep 2016 14:58:20 +0530 Subject: [PATCH] entrypoint: load the module inputs.json file --- bitnami/postgresql/rootfs/app-entrypoint.sh | 46 +++++++++++-------- .../postgresql/rootfs/postgresql-inputs.json | 10 ++++ 2 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 bitnami/postgresql/rootfs/postgresql-inputs.json diff --git a/bitnami/postgresql/rootfs/app-entrypoint.sh b/bitnami/postgresql/rootfs/app-entrypoint.sh index 8bcd0bb72ddc..9c0fb090bb76 100755 --- a/bitnami/postgresql/rootfs/app-entrypoint.sh +++ b/bitnami/postgresql/rootfs/app-entrypoint.sh @@ -1,22 +1,32 @@ -#!/bin/bash -set -e +#!/bin/bash -e -if [[ "$1" == "nami" && "$2" == "start" ]]; then - status=`nami inspect $BITNAMI_APP_NAME` - if [[ "$status" == *'"lifecycle": "unpacked"'* ]]; then - nami initialize $BITNAMI_APP_NAME \ - ${POSTGRES_USER:+--username $POSTGRES_USER} \ - ${POSTGRES_PASSWORD:+--password $POSTGRES_PASSWORD} \ - ${POSTGRES_DB:+--database $POSTGRES_DB} \ - ${POSTGRES_MODE:+--replicationMode $POSTGRES_MODE} \ - ${POSTGRES_REPLICATION_USER:+--replicationUser $POSTGRES_REPLICATION_USER} \ - ${POSTGRES_REPLICATION_PASSWORD:+--replicationPassword $POSTGRES_REPLICATION_PASSWORD} \ - ${POSTGRES_MASTER_HOST:+--masterHost $POSTGRES_MASTER_HOST} \ - ${POSTGRES_MASTER_PORT:+--masterPort $POSTGRES_MASTER_PORT} \ - ${POSTGRES_MASTER_USER:+--masterUser $POSTGRES_MASTER_USER} \ - ${POSTGRES_MASTER_PASSWORD:+--masterPassword $POSTGRES_MASTER_PASSWORD} - fi - chown $BITNAMI_APP_USER: /bitnami/$BITNAMI_APP_NAME || true +function initialize { + # Package can be "installed" or "unpacked" + status=`nami inspect $1` + if [[ "$status" == *'"lifecycle": "unpacked"'* ]]; then + # Clean up inputs + inputs="" + if [[ -f /$1-inputs.json ]]; then + inputs=--inputs-file=/$1-inputs.json + fi + nami initialize $1 $inputs + fi +} + +# Set default values +export POSTGRES_USER=${POSTGRES_USER:-postgres} +export POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-} +export POSTGRES_DB=${POSTGRES_DB:-} +export POSTGRES_MODE=${POSTGRES_MODE:-master} +export POSTGRES_REPLICATION_USER=${POSTGRES_REPLICATION_USER:-} +export POSTGRES_REPLICATION_PASSWORD=${POSTGRES_REPLICATION_PASSWORD:-} +export POSTGRES_MASTER_HOST=${POSTGRES_MASTER_HOST:-} +export POSTGRES_MASTER_PORT=${POSTGRES_MASTER_PORT:-5432} + +if [[ "$1" == "nami" && "$2" == "start" ]] || [[ "$1" == "/init.sh" ]]; then + initialize postgresql + chown -R :$BITNAMI_APP_USER /bitnami/postgresql || true + echo "Starting application ..." fi exec /entrypoint.sh "$@" diff --git a/bitnami/postgresql/rootfs/postgresql-inputs.json b/bitnami/postgresql/rootfs/postgresql-inputs.json new file mode 100644 index 000000000000..638071afe2fa --- /dev/null +++ b/bitnami/postgresql/rootfs/postgresql-inputs.json @@ -0,0 +1,10 @@ +{ + "username": "{{$global.env.POSTGRES_USER}}", + "password": "{{$global.env.POSTGRES_PASSWORD}}", + "database": "{{$global.env.POSTGRES_DB}}", + "replicationMode": "{{$global.env.POSTGRES_MODE}}", + "replicationUser": "{{$global.env.POSTGRES_REPLICATION_USER}}", + "replicationPassword": "{{$global.env.POSTGRES_REPLICATION_PASSWORD}}", + "masterHost": "{{$global.env.POSTGRES_MASTER_HOST}}", + "masterPort": "{{$global.env.POSTGRES_MASTER_PORT}}" +}