Compare commits

...

10 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
c94658ea09 Release 1.4.12 2018-12-02 16:18:02 -05:00
Jose Diaz-Gonzalez
6ed6db2b3f fix: correct issues where docker ps is truncated
This should actually be refactored to avoid the grep call completely, but the current fix will correct the issue for now.

Refs dokku/dokku-postgres#131
2018-12-02 05:21:10 -05:00
Jose Diaz-Gonzalez
354309feec Merge pull request #154 from janis-vitols/bug/ps/grep/binary
Fix `No such container: Binary`
2018-12-02 05:14:36 -05:00
Jose Diaz-Gonzalez
26a1948e50 Update functions 2018-12-02 05:13:34 -05:00
Jose Diaz-Gonzalez
28a8a0f84e fix: ensure any backup cron files are deleted when the service is destroyed
Closes dokku/dokku-redis#118
2018-12-02 05:10:07 -05:00
Jose Diaz-Gonzalez
11435f7452 Merge branch 'master' into bug/ps/grep/binary 2018-12-02 04:57:41 -05:00
Jose Diaz-Gonzalez
f2a802819f Merge pull request #159 from johnspade/master
fix: remove dokkupaas/s3backup container after backup
2018-12-02 04:44:05 -05:00
Jose Diaz-Gonzalez
1465f6f3ca fix: correct documentation around the passphrase parameter
Closes dokku/dokku-mysql#101
2018-12-02 04:33:58 -05:00
ilopatin
c276507d3b fix: remove dokkupaas/s3backup container after backup 2018-10-18 11:30:47 +03:00
Jānis Vītols
e6810fa7e0 Fix No such container: Binary problem
Ignore `docker ps` truncation. Looks like in new Docker version
(in my case Docker version 18.06.0-ce, build 0ffa825) long commands are truncated
and sometimes can return/contain binary output (truncation `...` symbols are binary).
Because of such output `grep -e` fails to find container.

Workaround was to use `--no-trunc` for `docker ps` command.
2018-08-28 10:29:12 +03:00
6 changed files with 13 additions and 12 deletions

View File

@@ -23,7 +23,7 @@ postgres:backup-auth <name> <aws_access_key_id> <aws_secret_access_key> (<aws_de
postgres:backup-deauth <name> Removes backup authentication for the postgres service
postgres:backup-schedule <name> <schedule> <bucket> Schedules a backup of the postgres service
postgres:backup-schedule-cat <name> Show the backup schedule for the service
postgres:backup-set-encryption <name> <encryption_key> Sets up GPG encryption for future backups of the postgres service
postgres:backup-set-encryption <name> <passphrase> Set a GPG passphrase for backups
postgres:backup-unschedule <name> Unschedules the backup of the postgres service
postgres:backup-unset-encryption <name> Removes backup encryption for future backups of the postgres service
postgres:clone <name> <new-name> Create container <new-name> then copy data from <name> into <new-name>

View File

@@ -183,7 +183,7 @@ service_backup() {
fi
# shellcheck disable=SC2086
docker run $BACKUP_PARAMETERS dokkupaas/s3backup:0.8.0
docker run --rm $BACKUP_PARAMETERS dokkupaas/s3backup:0.8.0
}
service_backup_auth() {
@@ -667,7 +667,7 @@ service_stop() {
declare SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE";
local SERVICE_NAME="$(get_service_name "$SERVICE")"
local ID=$(docker ps -f status=running | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
local ID=$(docker ps -f status=running --no-trunc | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
[[ -z $ID ]] && dokku_log_warn "Service is already stopped" && return 0
if [[ -n $ID ]]; then

View File

@@ -81,7 +81,7 @@ service_create_container() {
service_stop "$SERVICE" > /dev/null
docker run --rm -i -v "$SERVICE_HOST_ROOT/data:/var/lib/postgresql/data" "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" bash -s < "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts/enable_ssl.sh" &> /dev/null
PREVIOUS_ID=$(docker ps -f status=exited | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
PREVIOUS_ID=$(docker ps -f status=exited --no-trunc | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
docker start "$PREVIOUS_ID" > /dev/null
service_port_unpause "$SERVICE"
@@ -122,14 +122,14 @@ service_start() {
local QUIET="$2"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local SERVICE_NAME="$(get_service_name "$SERVICE")"
local ID=$(docker ps -f status=running | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
local ID=$(docker ps -f status=running --no-trunc | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
if [[ -n $ID ]]; then
[[ -z $QUIET ]] && dokku_log_warn "Service is already started"
return 0
fi
dokku_log_info2_quiet "Starting container"
local PREVIOUS_ID=$(docker ps -f status=exited | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
local PREVIOUS_ID=$(docker ps -f status=exited --no-trunc | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"
if [[ -n $PREVIOUS_ID ]]; then

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku postgres service plugin"
version = "1.4.11"
version = "1.4.12"
[plugin.config]

View File

@@ -5,19 +5,19 @@ source "$PLUGIN_BASE_PATH/common/functions"
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/functions"
service-backup-set-encryption-cmd() {
#E set a GPG encryption key for backups
#E set a GPG passphrase for backups
#E dokku $PLUGIN_COMMAND_PREFIX:backup-set-encryption lolipop
#A service, service to run command against
#A encryption-key, a GPG encryption key
#A passphrase, a GPG-compatible passphrase
declare desc="sets encryption for all future backups of $PLUGIN_SERVICE service"
local cmd="$PLUGIN_COMMAND_PREFIX:backup-set-encryption" argv=("$@"); [[ ${argv[0]} == "$cmd" ]] && shift 1
declare SERVICE="$1" ENCRYPTION_KEY="$2"
declare SERVICE="$1" PASSPHRASE="$2"
is_implemented_command "$cmd" || dokku_log_fail "Not yet implemented"
[[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a name for the service"
[[ -z "$ENCRYPTION_KEY" ]] && dokku_log_fail "Please specify a GPG encryption key"
[[ -z "$PASSPHRASE" ]] && dokku_log_fail "Please specify a GPG backup passphrase"
verify_service_name "$SERVICE"
service_backup_set_encryption "$SERVICE" "$ENCRYPTION_KEY"
service_backup_set_encryption "$SERVICE" "$PASSPHRASE"
}
service-backup-set-encryption-cmd "$@"

View File

@@ -38,6 +38,7 @@ service-destroy-cmd() {
fi
dokku_log_info2_quiet "Deleting $SERVICE"
service_backup_unschedule "$SERVICE"
if [[ -n $(docker ps -aq -f name="$SERVICE_NAME") ]]; then
dokku_log_verbose_quiet "Deleting container data"
service_stop "$SERVICE"