42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 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/config/functions"
|
|
|
|
config_docker_args() {
|
|
declare desc="config docker-args plugin trigger"
|
|
local trigger="$0 config_docker_args"
|
|
local STDIN=$(cat); local APP="$1"; local IMAGE_TAG="$2"; local IMAGE=$(get_deploying_app_image_name "$APP" "$IMAGE_TAG")
|
|
verify_app_name "$APP"
|
|
|
|
if ! is_image_herokuish_based "$IMAGE"; then
|
|
shopt -s extglob
|
|
local ENV_ARGS
|
|
declare -A ENV_ARGS
|
|
for key in $(config_keys global); do
|
|
VAR="$(config_get --global "$key")"
|
|
printf -vVAR '%q' "${VAR%%*( )}"
|
|
ENV_ARGS[$key]="$VAR"
|
|
done
|
|
for key in $(config_keys app "$APP"); do
|
|
VAR="$(config_get "$APP" "$key")"
|
|
printf -vVAR '%q' "${VAR%%*( )}"
|
|
ENV_ARGS[$key]="$VAR"
|
|
done
|
|
shopt -u extglob
|
|
local ALL_ENV_ARGS
|
|
declare -a ALL_ENV_ARGS
|
|
for key in "${!ENV_ARGS[@]}"; do
|
|
local ARG="$key=${ENV_ARGS[$key]}"
|
|
ALL_ENV_ARGS+=("--env")
|
|
ALL_ENV_ARGS+=("$ARG")
|
|
done
|
|
|
|
echo -n "$STDIN ${ALL_ENV_ARGS[@]}"
|
|
else
|
|
echo -n "$STDIN"
|
|
fi
|
|
}
|
|
|
|
config_docker_args "$@"
|