Update: In the comments, the following one-liner is suggested by Matt T if you have
jqinstalled (a handy utility if there ever was one!):
kubectl get secret my-secret -o json | jq '.data | map_values(@base64d)'
I figured it would be handy to have a quick reference for this, since I'll probably forget certain secrets many, many times in the future (I'm like that, I guess):
I have a Kubernetes
Secret used for Traefik ingress basic HTTP authentication (using annotation
ingress.kubernetes.io/auth-secret), and as an admin with
kubectl access, I want to see (or potentially modify) its structure.
Let's say the Secret is in namespace
testing, and is named
test-credentials. To get the value of the basic auth credentials I do:
kubectl get secret test-credentials -n testing -o yaml
This spits out the Kubernetes object definition, including a field like:
data: auth: [redacted base64-encoded string]
So then I copy out that string and decode it: