From 5ffbcf24de711d00bf45ab51aae7d930fe434f63 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 18 Jan 2024 21:00:42 -0500 Subject: [PATCH] fix: always set -- on docker run commands internally to avoid parsing flags on specified commands --- plugins/cron/cron.go | 2 +- plugins/cron/subcommands.go | 2 +- plugins/run/internal-functions | 2 +- plugins/scheduler-docker-local/scheduler-run | 4 ++++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/cron/cron.go b/plugins/cron/cron.go index 7984fc6c8..b38ceeb5e 100644 --- a/plugins/cron/cron.go +++ b/plugins/cron/cron.go @@ -42,7 +42,7 @@ func (t TemplateCommand) CronCommand() string { return t.AltCommand } - return fmt.Sprintf("dokku run --cron-id %s %s %s", t.ID, t.App, t.Command) + return fmt.Sprintf("dokku run --cron-id %s %s -- %s", t.ID, t.App, t.Command) } func FetchCronEntries(appName string) ([]TemplateCommand, error) { diff --git a/plugins/cron/subcommands.go b/plugins/cron/subcommands.go index f36545710..4a85a01e3 100644 --- a/plugins/cron/subcommands.go +++ b/plugins/cron/subcommands.go @@ -109,7 +109,7 @@ func CommandRun(appName string, cronID string, detached bool) error { os.Setenv("DOKKU_CRON_ID", cronID) os.Setenv("DOKKU_RM_CONTAINER", "1") scheduler := common.GetAppScheduler(appName) - args := append([]string{scheduler, appName, "0"}, fields...) + args := append([]string{scheduler, appName, "0", "--"}, fields...) return common.PlugnTrigger("scheduler-run", args...) } diff --git a/plugins/run/internal-functions b/plugins/run/internal-functions index 13ce0cb20..28f564328 100755 --- a/plugins/run/internal-functions +++ b/plugins/run/internal-functions @@ -53,7 +53,7 @@ fn-run() { verify_app_name "$APP" local DOKKU_SCHEDULER=$(get_app_scheduler "$APP") - DOKKU_CRON_ID="$CRON_ID" plugn trigger scheduler-run "$DOKKU_SCHEDULER" "$APP" "${#RUN_ENV[@]}" "${RUN_ENV[@]}" "$@" + DOKKU_CRON_ID="$CRON_ID" plugn trigger scheduler-run "$DOKKU_SCHEDULER" "$APP" "${#RUN_ENV[@]}" "${RUN_ENV[@]}" -- "$@" } cmd-run() { diff --git a/plugins/scheduler-docker-local/scheduler-run b/plugins/scheduler-docker-local/scheduler-run index b58d5b970..8620341a3 100755 --- a/plugins/scheduler-docker-local/scheduler-run +++ b/plugins/scheduler-docker-local/scheduler-run @@ -73,6 +73,10 @@ trigger-scheduler-docker-local-scheduler-run() { [[ "$IMAGE_SOURCE_TYPE" == "herokuish" ]] && local EXEC_CMD="/exec" is_image_cnb_based "$IMAGE" && EXEC_CMD="" + if [[ "$1" == "--" ]]; then + shift + fi + local POTENTIAL_PROCFILE_KEY="$1" if [[ -n "$POTENTIAL_PROCFILE_KEY" ]]; then PROC_CMD=$(plugn trigger procfile-get-command "$APP" "$POTENTIAL_PROCFILE_KEY" "5000" 2>/dev/null || echo '')