Files
dokku/plugins/storage/functions
2016-11-28 03:06:30 +00:00

41 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
help_formatted (){
echo -e 'Usage: dokku storage:COMMAND'
echo ''
echo 'Mount local volume / directories inside containers.'
echo ''
echo 'Additional commands:'
help_content_func | sort | column -c2 -t -s,
}
help_content_func () {
declare desc="return storage plugin help content"
cat<<help_content
storage, Mount local volume / directories inside containers
storage:list <app>, List bind mounts for app's container(s) (host:container)
storage:mount <app> <host-dir:container-dir>, Create a new bind mount
storage:unmount <app> <host-dir:container-dir>, Remove an existing bind mount
help_content
}
verify_paths() {
declare desc="verifies storage paths"
echo "$1" | grep -qe '^/.*\:/' || dokku_log_fail "Storage path must be two valid paths divided by colon."
}
check_if_path_exists() {
declare desc="checks if path exists"
local -r passed_path=$1
local -r phase_file_path=$2
[[ -r "$phase_file_path" ]] && grep -qe "^-v $passed_path" "$phase_file_path"
}
get_bind_mounts() {
declare desc="strips docker options and prints mounts"
local -r phase_file_path=$1
[[ -r "$phase_file_path" ]] && sed -e '/^-v/!d' -e 's/^-v/ /' < "$phase_file_path"
}