Siguendo con el tema de ayer, hoy quiero revisar otro bloque de código.
En este caso, se construye un array en JSON usando Bash puro, cuando es el proceso se simplifica enormemente gracias a la función --slurp
de jq
.
Photo by Mabel Amber
Siguendo con el tema de ayer, hoy quiero revisar otro bloque de código.
En este caso, se construye un array en JSON usando Bash puro, cuando es el proceso se simplifica enormemente gracias a la función --slurp
de jq
.
Llevo una temporada revisando código -MUCHO, MUCHO código- en Bash.
Como parte de uno de los steps de ejecución de una pipeline, se consulta una API para obtener o actualizar información de una base de datos y hacer cosas con esa información, como desplegar recursos en un proveedor cloud (usando la cli) o lanzando Terraform.
Uno de los patrones que me encontrado a la hora de interaccionar con la API es el siguiente:
curl
y guardar la respuesta en un fichero.jq
leyendo el fichero.He estado buscando información sobre cuál es la manera correcta a la hora de definir los nombres de las variables en Bash… Y como en el caso de la eterna batalla entre espacios vs tabs o Vim vs Emacs, parece que no hay una solución definitiva (o seguida por todo el mundo de forma generalizada).
Hace unas entradas, en
Crear usuarios en Kubernetes (y en K3s), escribía sobre cómo generar nuevos usuarios con acceso al clúster de Kubernetes usando un fichero kubeconfig
.
El método descrito implicaba extraer fuera del clúster el certificado privado de la entidad certificadora (CA) de Kubernetes, lo que no me parecía la mejor solución.
Desde Kubernetes 1.19 existe un nuevo recurso en la API, el CertificateSigningRequest
, que permite firmar certificados para proporcionar acceso (por ejemplo) al clúster.
En esta entrada se describe cómo aprovechar esta nueva funcionalidad para dar acceso a un usuario usando un certificado firmado por la CA del clúster.