Cambiar o rotar un secreto¶
Las credenciales de cada job viven en un archivo propio en el servidor, fuera de la imagen: secrets/<repo>.env. El contenedor lo monta en modo solo lectura y cada job lo lee como su .env.
Reglas¶
- Nunca pegues un valor secreto en un ticket, un chat, un correo ni un log.
- Nunca versiones un
.envni un archivo desecrets/. - Cada job tiene su propio archivo: una variable que se llama igual en dos jobs (por ejemplo la del servidor de correo) puede tener un valor distinto en cada uno.
Pasos¶
- Edita
secrets/<repo>.enven el servidor (con permisos600) y reemplaza el valor. - No hace falta reiniciar. El job lee el archivo en su próxima corrida.
- Comprueba el cambio con
--dry-runo con Ejecutar ahora y revisa el log. - Revoca el valor anterior en el sistema de origen (SFTP, base de datos, API).
Las credenciales del panel (clave de administrador, token de la API, clave de sesión, correo y Telegram de las alertas) están en el .env del panel, no en secrets/. Para cambiarlas hay que recrear el contenedor con docker compose up -d.
Comprobar que no falta ninguna variable¶
docker compose exec panel python tools/verificar_env.py --jobs /opt/dabra/jobs --secrets /run/secrets/dabra
Imprime solo los nombres de las variables que faltan o están vacías, nunca los valores. Una variable opcional puede aparecer como faltante aunque el job tenga un valor por defecto.
Plantilla para un job nuevo¶
tools/generar_env_example.py crea, para cada job, una plantilla con los nombres de sus variables y sin valores. Copia la plantilla a secrets/<repo>.env y complétala.