[config] preliminary Dockerfile support
This commit is contained in:
@@ -7,15 +7,32 @@ 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")
|
||||
local DOCKERFILE_ENV_FILE="$DOKKU_ROOT/$APP/DOCKERFILE_ENV_FILE"
|
||||
verify_app_name "$APP"
|
||||
|
||||
if ! is_image_herokuish_based "$IMAGE"; then
|
||||
> "$DOCKERFILE_ENV_FILE"
|
||||
config_export global | sed -e "s:^export ::g" -e "s:=':=:g" -e "s:'$::g" > "$DOCKERFILE_ENV_FILE"
|
||||
config_export app "$APP" | sed -e "s:^export ::g" -e "s:=':=:g" -e "s:'$::g" >> "$DOCKERFILE_ENV_FILE"
|
||||
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 --env-file=$DOCKERFILE_ENV_FILE"
|
||||
echo -n "$STDIN ${ALL_ENV_ARGS[@]}"
|
||||
else
|
||||
echo -n "$STDIN"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user