From 42af3c4a6e0255ce62d49dd644577188b114e6f5 Mon Sep 17 00:00:00 2001 From: Mykola Solodukha Date: Tue, 7 Apr 2026 21:01:11 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=20Prevent=20client=20from=20pr?= =?UTF-8?q?epending=20`--app`=20for=20network=20commands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dokku client auto-detects the app name from the git remote and prepends `--app ` to all SSH commands not explicitly excluded. Network commands like `network:create` take a network name (not an app name) as their first argument, so the injected app name was being used as the network name instead. Co-Authored-By: Claude Opus 4.6 (1M context) --- contrib/dokku_client.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/dokku_client.sh b/contrib/dokku_client.sh index 2b43d004d..a618e3342 100755 --- a/contrib/dokku_client.sh +++ b/contrib/dokku_client.sh @@ -240,6 +240,7 @@ main() { [[ " apps certs help ls nginx shell storage trace version " == *" $CMD "* ]] && unset APP [[ " certs:chain domains:add-global domains:remove-global domains:set-global ps:restore " == *" $CMD "* ]] && unset APP [[ " storage:ensure-directory " == *" $CMD "* ]] && unset APP + [[ " network:create network:destroy network:exists network:info network:list network:rebuildall " == *" $CMD "* ]] && unset APP [[ "$CMD" =~ events*|plugin*|ssh-keys* ]] && unset APP [[ -n "$APP_ARG" ]] && [[ "$APP_ARG" == "--global" ]] && unset APP if [[ -n "$@" ]] && [[ -n "$APP" ]]; then From b548eb00caeabf1bc61febb97eaf6c23bd5e210d Mon Sep 17 00:00:00 2001 From: Mykola Solodukha Date: Tue, 7 Apr 2026 22:08:52 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=90=9B=20Add=20missing=20global=20com?= =?UTF-8?q?mands=20to=20client=20`--app`=20exclusion=20whitelist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add `domains:clear-global`, `logs:vector-*`, and `scheduler-k3s` cluster, profile, and system commands that take resource names instead of app names as their first argument. Co-Authored-By: Claude Opus 4.6 (1M context) --- contrib/dokku_client.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contrib/dokku_client.sh b/contrib/dokku_client.sh index a618e3342..fa0505f56 100755 --- a/contrib/dokku_client.sh +++ b/contrib/dokku_client.sh @@ -238,9 +238,13 @@ main() { esac [[ " apps certs help ls nginx shell storage trace version " == *" $CMD "* ]] && unset APP - [[ " certs:chain domains:add-global domains:remove-global domains:set-global ps:restore " == *" $CMD "* ]] && unset APP + [[ " certs:chain domains:add-global domains:clear-global domains:remove-global domains:set-global ps:restore " == *" $CMD "* ]] && unset APP [[ " storage:ensure-directory " == *" $CMD "* ]] && unset APP [[ " network:create network:destroy network:exists network:info network:list network:rebuildall " == *" $CMD "* ]] && unset APP + [[ " logs:vector-logs logs:vector-start logs:vector-stop " == *" $CMD "* ]] && unset APP + [[ " scheduler-k3s:cluster:add scheduler-k3s:cluster:list scheduler-k3s:cluster:remove " == *" $CMD "* ]] && unset APP + [[ " scheduler-k3s:ensure-charts scheduler-k3s:initialize scheduler-k3s:show-kubeconfig scheduler-k3s:uninstall " == *" $CMD "* ]] && unset APP + [[ " scheduler-k3s:profiles:add scheduler-k3s:profiles:list scheduler-k3s:profiles:remove " == *" $CMD "* ]] && unset APP [[ "$CMD" =~ events*|plugin*|ssh-keys* ]] && unset APP [[ -n "$APP_ARG" ]] && [[ "$APP_ARG" == "--global" ]] && unset APP if [[ -n "$@" ]] && [[ -n "$APP" ]]; then From 50e383f0615ad0e7738ba97887a18186531efeff Mon Sep 17 00:00:00 2001 From: Mykola Solodukha Date: Tue, 7 Apr 2026 22:09:06 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20Fix=20`random=5Fname`?= =?UTF-8?q?=20=E2=86=92=20`fn-random-name`=20in=20`apps:create`=20retry=20?= =?UTF-8?q?loop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- contrib/dokku_client.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/dokku_client.sh b/contrib/dokku_client.sh index fa0505f56..2151568b6 100755 --- a/contrib/dokku_client.sh +++ b/contrib/dokku_client.sh @@ -183,7 +183,7 @@ main() { ssh -p "$DOKKU_PORT" "dokku@$DOKKU_REMOTE_HOST" apps exit 1 else - APP=$(random_name) + APP=$(fn-random-name) counter=$((counter + 1)) fi done