Je veux obtenir la valeur d'un champ spécifique d'un secret dans un script shell.
Du kubectl get secret
Documentation, il semble que le moyen standard d'obtenir un secret de retour sur le tout, dans un format spécifié, avec les valeurs Base64 codées.
Donc, pour obtenir le champ bar
du champ foo
secret, sortie en tant que chaîne non connectée, je le fais:
kubectl get secret foo -o json | jq -r ".data.bar" | base64 --decode
C'est-à-dire
foo
secret comme JSONjq
pour lire le champ bar
du JSONbase64
Y a-t-il un moyen de le faire uniquement en utilisant kubectl
?
Ou une solution élégante dans la coquille compatible POSIX qui ne repose pas sur des dépendances telles que jq
?
Cela devrait fonctionner depuis Kubettes 1.11 (voir - PR 60755 ):
kubectl get secret foo -o go-template='{{ .data.bar | base64decode }}'
kubectl get secret foo -o jsonpath={.data.bar} | base64 --decode