From 7248d531b8847934c4d64ea0c3d5454e0c5fa862 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Thu, 20 Nov 2025 13:58:53 +0000 Subject: [PATCH] fix(zsh/kubernetes): improve password handling in docker-config-json function --- zsh/kubernetes.zsh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/zsh/kubernetes.zsh b/zsh/kubernetes.zsh index b1be228..13ef70c 100644 --- a/zsh/kubernetes.zsh +++ b/zsh/kubernetes.zsh @@ -88,20 +88,19 @@ fi # docker-config-json SERVER USER [PASSWORD] # -# Generate a `.dockerconfigjson` payload locally for registry auth, skipping -# `kubectl`. Prompts for the password when omitted in interactive shells. +# Generate a `.dockerconfigjson` payload locally for registry auth. Password can +# be passed as an argument, piped via stdin, or prompted for interactively. docker-config-json() { local server="$1" local username="$2" local password="$3" if [[ -z "$password" ]]; then - if [[ -t 0 && -t 1 ]]; then - read -rs "password?Docker registry password: " || return 1 - echo + if [[ ! -t 0 ]]; then + password="$(cat)" else - echo "docker-config-json: password not provided and input is not interactive" >&2 - return 1 + read -rs "password?Docker registry password: " || return 1 + echo >&2 fi fi