🔐 Script: vault.sh
🇪🇸 Descripción
El script vault.sh gestiona secretos cifrados dentro de ShFlow. Permite almacenar, consultar, editar y eliminar valores sensibles como contraseñas, tokens o claves API, usando cifrado simétrico o asimétrico con gpg.
Puede usarse como módulo (vault_task) dentro de un playbook, o como CLI directa mediante el alias shflow-vault.
Los secretos se guardan en core/vault/ y pueden exportarse como variables de entorno.
🧩 Argumentos disponibles (modo módulo)
| Clave | Descripción |
|---|---|
action |
Acción a realizar: add, get, show, edit, remove, list, exists, export |
key |
Nombre del secreto |
value |
Valor del secreto (solo para add) |
become |
Si se requiere sudo, usar become=true |
▶️ Ejemplo de uso en playbook
tasks:
- name: Guardar token de acceso
module: vault
args:
action: add
key: ACCESS_TOKEN
value: "abc123"▶️ Ejemplo de uso como CLI
shflow-vault add ACCESS_TOKEN
shflow-vault get ACCESS_TOKEN
shflow-vault list
shflow-vault export🧠 Trazas esperadas
🔐 Usando cifrado simétrico para 'ACCESS_TOKEN'
✅ Secreto 'ACCESS_TOKEN' guardado en core/vault
🗑️ Secreto 'ACCESS_TOKEN' eliminado.
❌ No se encontró clave para cifrar. Ejecuta vault-init.sh primero.📦 Claves utilizadas
VAULT_KEY: clave simétrica (~/.shflow.key)VAULT_PUBKEY: clave pública (~/.shflow.pub)VAULT_RECIPIENT: ID de clave pública (opcional)VAULT_DIR: ruta de almacenamiento (core/vault/)
📜 Changelog
Consulta el historial de cambios en changelog/vault.md