refactor: move docker-related commands from tags plugin into scheduler-docker-local plugin

This commit is contained in:
Jose Diaz-Gonzalez
2018-02-07 21:29:53 -07:00
parent 8474c72a10
commit 06a5ac9fc7
7 changed files with 40 additions and 12 deletions

View File

View File

@@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
scheduler-docker-local-scheduler-tags-create() {
declare desc="scheduler-docker-local scheduler-stop plugin trigger"
declare trigger="scheduler-docker-local scheduler-stop"
declare DOKKU_SCHEDULER="$1" APP="$2" SOURCE_IMAGE="$3" TARGET_IMAGE="$4"
if [[ "$DOKKU_SCHEDULER" != "docker-local" ]]; then
return
fi
local TAG_OPTS=""
[[ $(is_tag_force_available) ]] && TAG_OPTS="-f"
# shellcheck disable=SC2086
docker tag $TAG_OPTS "$SOURCE_IMAGE" "$TARGET_IMAGE"
}
is_tag_force_available() {
CLIENT_VERSION_STRING="$(get_docker_version)"
MAJOR_VERSION=$(echo "$CLIENT_VERSION_STRING" | awk '{split($0,a,"."); print a[1]}')
MINOR_VERSION=$(echo "$CLIENT_VERSION_STRING" | awk '{split($0,a,"."); print a[2]}')
PATCH_VERSION=$(echo "$CLIENT_VERSION_STRING" | awk '{split($0,a,"."); print a[3]}')
# docker tag -f was dropped in 1.12.0
if [[ "$MAJOR_VERSION" -gt 1 ]]; then
return 1
elif [[ "$MAJOR_VERSION" -eq 1 ]] && [[ "$MINOR_VERSION" -ge 12 ]]; then
return 1
else
return 0
fi
}
scheduler-docker-local-scheduler-tags-create "$@"

View File

@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
scheduler-docker-local-scheduler-tags-destroy() {
declare desc="scheduler-docker-local scheduler-stop plugin trigger"
declare trigger="scheduler-docker-local scheduler-stop"
declare DOKKU_SCHEDULER="$1" APP="$2" IMAGE_REPO="$3" IMAGE_TAG="$4"
if [[ "$DOKKU_SCHEDULER" != "docker-local" ]]; then
return
fi
docker rmi "$IMAGE_REPO:$IMAGE_TAG"
}
scheduler-docker-local-scheduler-tags-destroy "$@"