Referencia

Esta sección documenta exhaustivamente la interfaz de línea de comandos de Vallumix: subcomandos, flags globales, códigos de salida y comportamiento esperado de cada operación.

Subcomandos

Vallumix sigue el patrón de subcomandos popularizado por git y cargo:

SubcomandoDescripciónModifica el sistema
applyAplica los controles del perfil seleccionado, genera respaldos y reportesSí
auditEvalúa el estado sin aplicar cambios, genera reporte de cumplimientoNo
rollbackRestaura configuraciones desde respaldos versionadosSí (revierte)
listMuestra el catálogo de controles disponiblesNo
completionGenera scripts de autocompletado para shellsNo

Flags globales

Estas flags están disponibles en todos los subcomandos:

FlagValorDescripción
--profileweb, database, bastionPerfil de controles a utilizar
--dry-run—Simula la ejecución sin modificar el sistema
--verbose—Muestra salida detallada de cada control
--quiet—Suprime la salida en consola (solo reportes)
--threshold0–100Porcentaje mínimo de cumplimiento para código de salida 0
--no-color—Deshabilita colores en la salida terminal
--reporthtml, json, junit, textFormatos de reporte a generar (separados por coma)
--outputrutaPrefijo de ruta para los archivos de reporte
--help—Muestra ayuda del subcomando
--version—Muestra versión de Vallumix

Códigos de salida

Vallumix devuelve códigos de salida explícitos que facilitan la integración con scripts y pipelines:

CódigoSignificadoCuándo ocurre
0ÉxitoCumplimiento ≥ umbral (o sin umbral configurado); operación completada sin errores
1Umbral no alcanzadoLa tasa de cumplimiento está por debajo de --threshold
2Error de configuraciónPerfil inválido, distro no soportada, argumentos incorrectos
3Error de privilegiosOperación que requiere root ejecutada sin privilegios efectivos
Diseña tus scripts de wrapper para que capturen el código `1` como "política de seguridad violada" y el código `2` como "revisar configuración". No trates ambos como genéricos "errores".

Convenciones de salida

  • En modo interactivo con TTY, la salida usa colores, iconos (✓ ✗ ⚠ ℹ) y barras de progreso.
  • En modo no-TTY (pipes, redirecciones, CI), la salida se simplifica a texto plano sin códigos de escape ANSI, respetando la variable NO_COLOR.
  • El log estructurado se controla mediante RUST_LOG y la flag --log-level.