fix: ensure we respect quotes and dollar signs in config vars

Due to various changes in how containers are started, these keys were set incorrectly for apps. Since we can use the short-hand --env=ENV format for setting env vars on docker containers, lets do so.

Closes #4895
Closes #4896
This commit is contained in:
Jose Diaz-Gonzalez
2021-11-03 12:13:33 -04:00
parent 6014b7208f
commit a756786f93
2 changed files with 42 additions and 18 deletions

View File

@@ -7,25 +7,13 @@ source "$PLUGIN_AVAILABLE_PATH/config/functions"
trigger-config-docker-args() {
declare desc="config docker-args plugin trigger"
declare trigger="docker-args"
declare APP="$1" IMAGE_TAG="$2"
local ENV_ARGS IMAGE STDIN trigger
declare APP="$1"
local ENV_ARGS STDIN
IMAGE=$(get_app_image_name "$APP" "$IMAGE_TAG")
STDIN=$(cat)
trigger="$0 config_docker_args"
if is_image_cnb_based "$IMAGE"; then
ENV_ARGS="$(config_export app "$APP" --format docker-args-keys --merged)"
echo -n "$STDIN $ENV_ARGS"
return
fi
if ! is_image_herokuish_based "$IMAGE" "$APP"; then
ENV_ARGS="$(config_export app "$APP" --format docker-args --merged)"
echo -n "$STDIN $ENV_ARGS"
else
echo -n "$STDIN"
fi
ENV_ARGS="$(config_export app "$APP" --format docker-args-keys --merged)"
echo -n "$STDIN $ENV_ARGS"
}
trigger-config-docker-args "$@"