diff --git a/functions b/functions index 62ce3e7..5d2ebfd 100755 --- a/functions +++ b/functions @@ -104,10 +104,17 @@ service_start() { fi } + +service_password() { + local SERVICE="$1" + local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" + local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" + echo "$PASSWORD" +} + service_url() { local SERVICE="$1" - local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" - local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" + local PASSWORD="$(service_password "$SERVICE")" local SERVICE_ALIAS="$(service_alias "$SERVICE")" echo "$PLUGIN_SCHEME://$SERVICE:$PASSWORD@$SERVICE_ALIAS:${PLUGIN_DATASTORE_PORTS[0]}" } diff --git a/subcommands/connect b/subcommands/connect index 5cda85a..7906f47 100755 --- a/subcommands/connect +++ b/subcommands/connect @@ -13,9 +13,10 @@ redis-connect-cmd() { verify_service_name "$SERVICE" SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" SERVICE_NAME="$(get_service_name "$SERVICE")" + PASSWORD="$(service_password "$SERVICE")" has_tty && SERVICE_TTY_OPTS="-t" - docker exec -i $SERVICE_TTY_OPTS "$SERVICE_NAME" redis-cli + docker exec -i $SERVICE_TTY_OPTS "$SERVICE_NAME" redis-cli -a "$PASSWORD" } redis-connect-cmd "$@" diff --git a/tests/service_connect.bats b/tests/service_connect.bats index 90030f0..a6fd2aa 100755 --- a/tests/service_connect.bats +++ b/tests/service_connect.bats @@ -24,6 +24,5 @@ teardown() { @test "($PLUGIN_COMMAND_PREFIX:connect) success" { export ECHO_DOCKER_COMMAND="true" run dokku "$PLUGIN_COMMAND_PREFIX:connect" l - assert_output 'docker exec -i -t dokku.redis.l redis-cli' + assert_contains 'docker exec -i -t dokku.redis.l redis-cli -a' } -