Uso de Vault#
Inicialización de Vault y migración de secretos#
1. Asegúrese de que los servicios están en ejecución#
# Vault en la configuración se inicia mediante el perfil opcional vault
# Copie la configuración de vault (los archivos son reemplazados por nuevos)
cp -af ./vault/config/default/. ./vault/config
# Inicie los servicios con el perfil de BD seleccionado + perfil vault
# Opción 1: MariaDB + Vault
docker compose --profile mariadb --profile vault up -d
# Opción 2: PostgreSQL + Vault
docker compose --profile pg --profile vault up -d
2. Realice la inicialización y unseal de Vault#
# Abra un shell en el contenedor de Vault
docker compose exec orchestrator-vault sh
# Dentro del contenedor:
vault operator init
# guarde todas las claves tras el comando
vault operator unseal
exit
Tras el unseal, es necesario habilitar kv/ como KV v1.
# Abra un shell en el contenedor de Vault (si salió de él)
docker compose exec orchestrator-vault sh
# Dentro del contenedor:
# exporte el token root
export VAULT_TOKEN='su-root-token'
# Verificar mounts:
vault secrets list -detailed
# Habilitar KV v1 en el mount kv/
vault secrets enable -path=kv -version=1 kv
# Verificar que aparece kv/ con map[version:1]
vault secrets list -detailed
exit
💡 Notas sobre la inicialización de Vault
vault operator init - inicializa Vault y muestra:
Unseal KeyInitial Root Token
vault operator unseal - quita el seal (ingrese el Unseal Key 3 veces del paso init)
3. Establezca el token en .env#
# Configure la variable de entorno con el root-token
sed -i 's/^VAULT_TOKEN=.*/VAULT_TOKEN=root-token/' .env
4. Reinicie el orchestrator#
# Aplique el nuevo valor de VAULT_TOKEN
docker compose restart orchestrator
5. Realice la migración de secretos a Vault#
docker compose exec orchestrator php backend/bin/vault-migrate.php
(OPCIONAL) Migración inversa desde Vault a la BD (rollback)#
docker compose exec orchestrator php backend/bin/vault-rollback.php
El script restaura las contraseñas de robots y assets desde Vault de vuelta a la BD y las cifra utilizando ORCHESTRATOR_ENCRYPTION_KEY.
💡 Verificación del resultado del rollback
- la salida del comando debe contener las líneas
[OK] Robots: ... restored, ... failedy[OK] Assets: ... restored, ... failed - en las tablas
robotsyassets, los valoresVAULT_MIGRATEDdeben ser reemplazados por contraseñas cifradas docker compose logs -f orchestratorno debe contener erroresVault is not available
💡 Verificación del resultado
docker compose ps- los contenedoresorchestratoryorchestrator-vaultdeben estarUpdocker compose logs -f orchestrator-vault- verificación de los logs de Vaultdocker compose logs -f orchestrator- verificar que el backend se inició tras el reinicio sin errores de Vault