Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

672
Vistas
decodificar base64 en kubectl jsonpath

tengo un comando similar a este

 kubectl get secrets \ --selector='my-selector' \ -o jsonpath='{range .items[*] }{"\n"}{.metadata.labels.cluster-name}{"."}{.metadata.namespace {":"}{"5432"}{"postgres" }{":"}{.data.password}{end}'

que genera una lista como esta (formato requerido)

 cluster-name.namespace:5432:postgres:YbHF....== cluster-name.namespace:5432:postgres:YbHF....== cluster-name.namespace:5432:postgres:YbHF....==

Necesito decodificar el base64 para este archivo y usar la hoja de trucos de kubectl como referencia que da este ejemplo:

 # Output decoded secrets without external tools kubectl get secret my-secret -o go-template='{{range $k,$v := .data}}{{"### "}}{{$k}}{{"\n"}}{{$v|base64decode}}{{"\n\n"}}{{end}}'

Intenté lo siguiente

 kubectl get secrets \ --selector='my-selector' \ -o jsonpath='{range .items[*] }{"\n"}{.metadata.labels.cluster-name}{"."}{.metadata.namespace {":"}{"5432"}{"postgres" }{":"}{.data.password|base64decode}{end}'

El resultado es que aparece todo menos el campo de la contraseña que ahora está en blanco, por ejemplo:

 cluster-name.namespace:5432:postgres:

Cualquier indicador sería apreciada.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Según la sugerencia de @mdaniel, utilicé la -o go-template

Mis principales cambios sintácticos fueron la eliminación de [ ], es decir, {range .items[*] } a {{range .items}}'

Y si una clave contenía un - entonces {.metadata.labels.cluster-name} se convirtió en {{index .metadata.labels "cluster-name"}}

Mi solución a continuación que permitió que funcionara la decodificación base64:

 kubectl get secrets \ --selector='my-selector' \ -o go-template='{{range .items}}{{"\n"}}{{index .metadata.labels "cluster-name"}}{{"."}}{{.metadata.namespace }}{{":"}}{{"5432"}}{{"postgres"}}{{":"}}{{.data.password|base64decode}}{{end}}'
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda