Entornos y secrets
Entornos
Un entorno separa las configuraciones de una misma tarea: por ejemplo,
Producción, con los tokens reales de los sistemas, y Sandbox, con los
de prueba. Toda ejecución corre en un entorno, elegido en la barra superior de
la consola o indicado en el lanzamiento por la API (environment_id).
Cada entorno tiene:
| Campo | Qué es |
|---|---|
| Nombre | La etiqueta del entorno, única en la organización. |
| Color | El color que identifica el entorno en la consola. |
| Branch | La rama usada en las ejecuciones de este entorno. |
| Secrets | Las credenciales registradas para él. |
| Programaciones | Las programaciones de tareas que corren en él. |
Un entorno con secrets o programaciones no se puede eliminar: quítalos antes.
Los entornos se pueden declarar en el Playbook, en el archivo
kadu.yaml (El kadu.yaml). En ese caso, el
repositorio es la fuente de verdad: una edición hecha solo en la consola
vuelve a lo declarado en el próximo push.
Secrets
Un secret es una credencial que usa una tarea: un token de API, una contraseña, el id de una cuenta. Pertenece a un entorno y, opcionalmente, a un workspace.
- El valor se guarda cifrado y nunca se muestra de vuelta, ni en la consola ni en la API. Para cambiarlo, guarda un valor nuevo.
- Una ejecución recibe solo los secrets que la tarea declara en
required_secrets. Es una lista de permitidos: un secret registrado y no declarado no llega a la ejecución. - El secret llega a la skill como variable de entorno con el nombre de la clave
(
KOBANA_ACCESS_TOKEN,FINTERA_TOKEN…). - Antes de enviar un evento, un log o un pendiente a la consola, Kadu reemplaza el valor de todo secret de la ejecución por una máscara.
Secrets pendientes
Configuración → Secrets marca como Pendiente todo secret que una tarea
del workspace exige y que aún no tiene valor en el entorno. El lanzamiento
desde la consola lo verifica antes de empezar y muestra lo que falta, con el
atajo Configurar secrets. En el
endpoint de lanzamiento, un secret exigido
sin valor rechaza la llamada con 422 missing_secrets.
Orden al incluir un secret nuevo en una tarea
- Quien mantiene el repositorio agrega el nombre en
required_secretsde la skill y publica. - Después de la sincronización, registra el valor en el entorno.
Si la tarea tiene programación, registra el valor antes del próximo horario. Sin él, la ejecución recibe la variable vacía y falla a mitad de camino, y no al principio.