From 613b9d75a54086aa168babe5f61fc784980e9ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Fri, 7 Jun 2019 17:39:04 +0200 Subject: [PATCH] 2019-06-07 update --- .../blog/decode-kubernetes-secret-base64.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 content/blog/decode-kubernetes-secret-base64.md diff --git a/content/blog/decode-kubernetes-secret-base64.md b/content/blog/decode-kubernetes-secret-base64.md new file mode 100644 index 0000000..4c22ad5 --- /dev/null +++ b/content/blog/decode-kubernetes-secret-base64.md @@ -0,0 +1,36 @@ +--- +title: "One-liner to decode a Kubernetes secret (base64 encoded)" +date: 2019-06-07T00:00:00+02:00 +opensource: +- OpenShift +--- + +Creating a Kubernetes secret from a value is easy: + +```raw +$ oc create secret generic my-secret --from-literal=secretValue=super-secret +secret/my-secret created +``` + +But getting back this value (from a Shell script, for instance) is not so easy since it is now base64 encoded: + +```raw +$ oc get secret my-secret -o yaml +apiVersion: v1 +kind: Secret +metadata: + name: my-secret + namespace: qlkube +type: Opaque +data: + secretValue: c3VwZXItc2VjcmV0 +``` + +Hopefully, since the latest versions of Kubernetes, there is now a one-liner to extract the field and base64 decode it: + +```raw +$ oc get secret my-secret -o go-template --template="{{.data.secretValue|base64decode}}" +super-secret +``` + +Enjoy!