#!/bin/bash

command -v jq &>/dev/null || { echo >&2 "jq not found"; exit 255; }
command -v kubectl &>/dev/null || { echo >&2 "kubectl not found"; exit 255; }
command -v base64 &>/dev/null || { echo >&2 "base64 not found"; exit 255; }

namespacearg=
case $# in
    2)  secret_name=$1
        secret_key=$2
        ;;
    3)  namespacearg="-n$1"
        secret_name=$2
        secret_key=$3
        ;;
    *)  echo >&2 "Usage: $0 [<namespace>] <k8s secret name> <key in secret>"
        exit 2
        ;;
esac

kubectl $namespacearg get secret -o json "$secret_name" | jq -r ".data[\"${secret_key}\"]" | base64 -d

