Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

kdecode

Decodes K8s secret’s data block.

Change namespace with the --namespace or -n flag.

Cluster selection can be done using the --cluster or -c flag to avoid having to change the current context when comparing multiple clusters.

You can limit the output to a single key within the secret with the --key or -k flag.

Additionally, if the secret is a PEM encoded certificate, you can pass the --pem flag to decode the certificate and print the details.

Examples

Decode a secret as a PEM certificate and pass the namespace, the cluster and filter to a single key
kdecode argo-server-tls -n argocd -c prod-cluster -k tls.crt -pem
tls.crt=
Certificate 0
	Issuer: CN=R3,O=Let's Encrypt,C=US
	Subject: CN=cd.argo.example.com
	NotBefore: 2024-03-22 18:03:13 +0000 UTC
	NotAfter: 2024-06-20 18:03:12 +0000 UTC
	SignatureAlgorithm: SHA256-RSA
	PublicKeyAlgorithm: RSA
	SerialNumber: 111111111111111111111111111111111111111111
	KeyUsage:
	OCSPServer: [http://r3.o.lencr.org]
	IssuingCertificateURL: [http://r3.i.lencr.org/]
	DNSNames: [cd.argo.example.com]
Certificate 1
	Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US
	Subject: CN=R3,O=Let's Encrypt,C=US
	NotBefore: 2020-09-04 00:00:00 +0000 UTC
	NotAfter: 2025-09-15 16:00:00 +0000 UTC
	SignatureAlgorithm: SHA256-RSA
	PublicKeyAlgorithm: RSA
	SerialNumber: 222222222222222222222222222222222222222
	KeyUsage:
	IssuingCertificateURL: [http://x1.i.lencr.org/]
	CRLDistributionPoints: [http://x1.c.lencr.org/]
Certificate 2
	Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co.
	Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US
	NotBefore: 2021-01-20 19:14:03 +0000 UTC
	NotAfter: 2024-09-30 18:14:03 +0000 UTC
	SignatureAlgorithm: SHA256-RSA
	PublicKeyAlgorithm: RSA
	SerialNumber: 33333333333333333333333333333333333333
	KeyUsage:
	IssuingCertificateURL: [http://apps.identrust.com/roots/dstrootcax3.p7c]
	CRLDistributionPoints: [http://crl.identrust.com/DSTROOTCAX3CRL.crl]
Decode a secret as a PEM certificate and use the current namespace and the current context and filter to a single key
kdecode argo-server-tls -k tls.crt -pem # current context and namespace
tls.crt=
Certificate 0
	...

Installation

  • Install using go:

    go install github.com/DavidGamba/dgtools/kdecode@latest

    Ensure your Go bin is in your PATH.

  • Install using homebrew:

    brew tap DavidGamba/dgtools https://github.com/DavidGamba/dgtools
    brew install DavidGamba/dgtools/kdecode