From e27c3dabda7f63f6e032e12607f8d6b5f7a5714e Mon Sep 17 00:00:00 2001 From: xeruf <27jf@pm.me> Date: Tue, 31 Jan 2023 22:52:42 +0000 Subject: [PATCH] config/shell/server/stack: fix pod splitting --- .config/shell/server | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.config/shell/server b/.config/shell/server index 8d2698a..96787ca 100644 --- a/.config/shell/server +++ b/.config/shell/server @@ -79,7 +79,14 @@ stack() { esac ;; (maria) app=$1 - "$0" exec $app-mariadb -it -- env "MYSQL_PWD=$(kubectl get secret -n flux-system stackspin-$app-variables --template '{{.data.mariadb_password}}' | base64 -d)" mysql -u $app "$@";; + pw="$(kubectl get secret -n flux-system stackspin-$app-variables --template '{{.data.mariadb_password}}' | base64 -d 2>/dev/null || + kubectl get secret -n flux-system stackspin-$app-variables --template "{{.data.${app}_mariadb_password}}" | base64 -d)" + case $app in + (nextcloud) n=nc-mariadb;; + (wordpress) n=wordpress-database;; + (*) n=$app-mariadb;; + esac + "$0" exec $n -it -- env "MYSQL_PWD=$pw" mysql -u $app "$@";; # high-level (shell) container=$1 @@ -100,7 +107,7 @@ stack() { (exec) "$0" kube exec "$@";; (logs) podname=$1 shift - "$0" kube logs "$podname" | $(command which lnav || { which bat >/dev/null && echo "bat --number -l toml" } || echo 'less -RF') "$@";; + "$0" kube logs "$podname" | $(command which ${LOGPAGER:-lnav} || { which bat >/dev/null && echo "bat --number -l toml" } || echo 'less -RF') "$@";; # low-level (kube) test $# -gt 1 || { echo "Please provide a command and pod name" >&2 && return 1; } @@ -111,10 +118,12 @@ stack() { for arg do case "$arg" in (-*) break;; (*) commands+="$arg"; shift;; esac done + local IFS=$'\n' for namespacedpod in $pods; do test "$subcommand" = get || highlight "Running $subcommand on $namespacedpod" >&2 - kubectl "$subcommand" "$commands[@]" -n $(echo $namespacedpod) "$@" + local IFS=' ' + kubectl "$subcommand" "$commands[@]" -n $namespacedpod "$@" done;; (pod) test $# -gt 0 && local podname=$1 && shift