Skip to content

Instantly share code, notes, and snippets.

@ghelobytes
Last active February 9, 2024 01:29
Show Gist options
  • Save ghelobytes/696acf8541f3b0ec3ba202a8ddbe4daf to your computer and use it in GitHub Desktop.
Save ghelobytes/696acf8541f3b0ec3ba202a8ddbe4daf to your computer and use it in GitHub Desktop.
List kubernetes secret easily
kdecsec(){kubectl get secret $1 -o go-template='{{range $k,$v := .data}}{{printf "%s => " $k}}{{if not $v}}{{$v}}{{else}}{{$v | base64decode}}{{end}}{{"\n"}}{{end}}';}
kgpf(){kubectl get svc -o json | jq '.items[] | {name:.metadata.name, p:.spec.ports[] } | select( .p.nodePort != null ) | "\(.name): localhost:\(.p.nodePort) -> \(.p.port) -> \(.p.targetPort)"';}

Sample usage

$ kubectl get secrets
NAME                                                TYPE                 DATA   AGE
sh.helm.release.v1.spl-registration.v1              helm.sh/release.v1   1      36h
my-postgres-db                                      Opaque               2      36h

$ kdecsec my-postgres-db
dbname => my-postgres-db
host => my-postgres-db-primary.registration.svc
jdbc-uri => jdbc:postgresql://my-postgres-db-primary.registration.svc:5432/my-postgres-db?password=Mr0IkohkulHVs8emdPGLFjFQ&user=my-postgres-db
password => Mr0IkohkulHVs8emdPGLFjFQ
port => 5432
uri => postgresql://my-postgres-db:Mr0IkohkulHVs8emdPGLFjFQ@my-postgres-db-primary.registration.svc:5432/my-postgres-db
user => my-postgres-db

$ kgpf
"my-elasticsearch-svc: localhost:30802 -> 80 -> http"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment