From 5b13bedbd69199862b3d8ca639494bac94aedb9b Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 11 Jul 2019 16:34:35 -0700 Subject: [PATCH] chore: move to helper functions for fetching passwords --- common-functions | 20 ++++++++++++++++++++ functions | 11 +++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/common-functions b/common-functions index d325166..08a6c6f 100755 --- a/common-functions +++ b/common-functions @@ -586,6 +586,26 @@ service_parse_args() { shift "$((OPTIND - 1))" # remove options from positional parameters } +service_password() { + declare desc="Fetch the password for a service" + declare SERVICE="$1" + local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" + local PASSWORD_FILE="$SERVICE_ROOT/PASSWORD" + if [[ -f "$PASSWORD" ]]; then + cat "$PASSWORD_FILE" + fi +} + +service_root_password() { + declare desc="Fetch the root password for a service" + declare SERVICE="$1" + local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" + local PASSWORD_FILE="$SERVICE_ROOT/ROOTPASSWORD" + if [[ -f "$PASSWORD" ]]; then + cat "$PASSWORD_FILE" + fi +} + service_port_expose() { declare desc="Wrapper for exposing service ports" declare SERVICE="$1" diff --git a/functions b/functions index 573b5e7..7b9b00c 100755 --- a/functions +++ b/functions @@ -68,7 +68,7 @@ service_create_container() { local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" local SERVICE_HOST_ROOT="$PLUGIN_DATA_HOST_ROOT/$SERVICE" local SERVICE_NAME="$(get_service_name "$SERVICE")" - local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" + local PASSWORD="$(service_password "$SERVICE")" local DATABASE_NAME="$(get_database_name "$SERVICE")" local PREVIOUS_ID @@ -98,7 +98,7 @@ service_export() { local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" local SERVICE_NAME="$(get_service_name "$SERVICE")" local DATABASE_NAME="$(get_database_name "$SERVICE")" - local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" + local PASSWORD="$(service_password "$SERVICE")" [[ -n $SSH_TTY ]] && stty -opost docker exec "$SERVICE_NAME" env PGPASSWORD="$PASSWORD" pg_dump -Fc --no-acl --no-owner -h localhost -U postgres -w "$DATABASE_NAME" @@ -113,7 +113,7 @@ service_import() { local SERVICE_HOST_ROOT="$PLUGIN_DATA_HOST_ROOT/$SERVICE" local SERVICE_NAME="$(get_service_name "$SERVICE")" local DATABASE_NAME="$(get_database_name "$SERVICE")" - local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" + local PASSWORD="$(service_password "$SERVICE")" if [[ -t 0 ]]; then dokku_log_fail "No data provided on stdin." @@ -138,7 +138,7 @@ service_start() { dokku_log_info2_quiet "Starting container" local PREVIOUS_ID=$(docker ps -aq --no-trunc --filter "status=exited" --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true - local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" + local PASSWORD="$(service_password "$SERVICE")" if [[ -n $PREVIOUS_ID ]]; then docker start "$PREVIOUS_ID" >/dev/null @@ -153,9 +153,8 @@ service_start() { service_url() { local SERVICE="$1" - local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" local SERVICE_DNS_HOSTNAME="$(service_dns_hostname "$SERVICE")" local DATABASE_NAME="$(get_database_name "$SERVICE")" - local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" + local PASSWORD="$(service_password "$SERVICE")" echo "$PLUGIN_SCHEME://postgres:$PASSWORD@$SERVICE_DNS_HOSTNAME:${PLUGIN_DATASTORE_PORTS[0]}/$DATABASE_NAME" }