From 3ab22d6f6f595265f32e96255da6a3b780ad8801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guitaut?= Date: Wed, 9 Sep 2015 00:17:52 +0200 Subject: [PATCH] Use PG tools from docker image Instead of installing dependencies on the host, directly use the binary shipped with the postgres docker image. This will also prevent possible problems when API changes for example. --- commands | 22 ++++++---------------- dependencies | 15 --------------- 2 files changed, 6 insertions(+), 31 deletions(-) delete mode 100755 dependencies diff --git a/commands b/commands index 6602b3e..67f6543 100755 --- a/commands +++ b/commands @@ -8,14 +8,6 @@ if [[ ! -d $PLUGIN_DATA_ROOT ]]; then dokku_log_fail "$PLUGIN_SERVICE: Please run: sudo dokku plugins-install" fi -if ! command -v psql &>/dev/null; then - dokku_log_fail "$PLUGIN_SERVICE: Please run: sudo dokku plugins-install-dependencies" -fi - -if ! command -v pg_dump &>/dev/null; then - dokku_log_fail "$PLUGIN_SERVICE: Please run: sudo dokku plugins-install-dependencies" -fi - case "$1" in $PLUGIN_COMMAND_PREFIX:alias) [[ -z $2 ]] && dokku_log_fail "Please specify a name for the service" @@ -123,11 +115,11 @@ case "$1" in [[ -z $2 ]] && dokku_log_fail "Please specify a name for the service" verify_service_name "$2" SERVICE="$2"; SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" - + SERVICE_NAME="$(get_service_name "$SERVICE")" + DATABASE_NAME="$(get_database_name $SERVICE)" PASSWORD=$(cat "$SERVICE_ROOT/PASSWORD") - IP=$(get_container_ip "$ID") - PGPASSWORD="$PASSWORD" pg_dump -h "$IP" -p 5432 -U postgres -c -O "$SERVICE" + docker exec "$SERVICE_NAME" env PGPASSWORD="$PASSWORD" pg_dump -Fc --no-acl --no-owner -h localhost -U postgres -w "$DATABASE_NAME" ;; $PLUGIN_COMMAND_PREFIX:import) @@ -168,12 +160,10 @@ case "$1" in [[ -z $2 ]] && dokku_log_fail "Please specify a name for the service" verify_service_name "$2" SERVICE="$2"; SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" - - ID=$(cat "$SERVICE_ROOT/ID") - IP=$(get_container_ip "$ID") - PASSWORD=$(cat "$SERVICE_ROOT/PASSWORD") DATABASE_NAME="$(get_database_name $SERVICE)" - PGPASSWORD="$PASSWORD" psql -h "$IP" -U postgres -d "$DATABASE_NAME" + SERVICE_NAME="$(get_service_name "$SERVICE")" + + docker exec -it "$SERVICE_NAME" psql -h localhost -U postgres "$DATABASE_NAME" ;; $PLUGIN_COMMAND_PREFIX:info) diff --git a/dependencies b/dependencies deleted file mode 100755 index d368ae6..0000000 --- a/dependencies +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x -source "$(dirname "$0")/config" - -case "$DOKKU_DISTRO" in - ubuntu) - export DEBIAN_FRONTEND=noninteractive - apt-get update - apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes -qq -y postgresql-client - ;; - - opensuse) - zypper -q in -y postgresql-client - ;; -esac