mirror of
https://github.com/dokku/dokku.git
synced 2025-12-25 16:29:30 +01:00
32 lines
1.1 KiB
Bash
Executable File
32 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
[[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
source "$PLUGIN_AVAILABLE_PATH/docker-options/functions"
|
|
|
|
verify_paths() {
|
|
declare desc="verifies storage paths"
|
|
local -r passed_path=$1
|
|
if [[ "$passed_path" == /* ]]; then
|
|
echo "$passed_path" | grep -qe '^/.*\:/' || dokku_log_fail "Storage path must be two valid paths divided by colon."
|
|
else
|
|
echo "$passed_path" | grep -qe '^[a-zA-Z0-9]\{1\}[a-zA-Z0-9_.-]\+\:\/' || dokku_log_fail "Volume name must be two characters or more. Volume name must not contain invalid characters. Storage path must be two valid paths divided by colon."
|
|
fi
|
|
|
|
}
|
|
|
|
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
|
|
if [[ -r "$phase_file_path" ]]; then
|
|
sed -e '/^-v/!d' -e 's/^-v //' <"$phase_file_path"
|
|
fi
|
|
}
|