41 lines
1.1 KiB
Fish
41 lines
1.1 KiB
Fish
function ksec
|
|
set -l context (kubectl config current-context)
|
|
set -l namespace apps
|
|
set -l secret ""
|
|
set -l subkey ""
|
|
set -l debug false
|
|
|
|
getopts $argv | while read -l key value
|
|
switch $key
|
|
case c
|
|
set context $value
|
|
case n
|
|
set namespace $value
|
|
case d
|
|
set debug $value
|
|
case _
|
|
if test -z "$secret"
|
|
set secret $value
|
|
|
|
continue
|
|
end
|
|
|
|
set subkey $value
|
|
end
|
|
end
|
|
|
|
if $debug == true
|
|
echo "Context: $context"
|
|
echo "Namespace: $namespace"
|
|
echo "Secret: $secret"
|
|
echo "Key: $subkey"
|
|
end
|
|
|
|
if test -z $subkey
|
|
echo "Available subkeys:"
|
|
kubectl --context="$context" --namespace="$namespace" get secret "$secret" -o jsonpath="{.data}" | jq -r 'keys | .[]'
|
|
else
|
|
kubectl --context="$context" --namespace="$namespace" get secret "$secret" -o jsonpath="{.data.$subkey}" | base64 --decode
|
|
end
|
|
end
|