fix(knoe-users): use sh-compatible base64 pipeline (drop pipefail for dash)

The container's /bin/sh is dash, which doesn't support set -o pipefail.
The preceding [ -s /tmp/pg.keytab ] check already guarantees the file is
non-empty before this line runs, so pipefail was redundant.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
chrisfu 2026-05-03 21:08:22 -07:00
parent bb71cf68ea
commit ae23dbb9f8

View File

@ -390,9 +390,8 @@ initialize() {
log "Storing keytab in Secret knoe-db-pg-keytab ..."
local keytab_b64
# Use pipefail so a base64 failure propagates through the tr pipeline
keytab_b64=$(kubectl -n "$KNOE_KDC_NAMESPACE" exec "$kdc_pod" -c kdc -- \
sh -c 'set -o pipefail; base64 /tmp/pg.keytab | tr -d "\n"')
sh -c 'base64 /tmp/pg.keytab | tr -d "\n"')
[[ -n "$keytab_b64" ]] || die "base64 encoding of keytab produced empty output."
# Write secret into the DB namespace where CNPG mounts it
kubectl -n "$KNOE_DB_NAMESPACE" create secret generic knoe-db-pg-keytab \