Ir al contenido
Documentación en vista previa. Los nombres y valores por defecto pueden cambiar antes del lanzamiento.

Configuración

InfraWard se configura con variables de entorno. En el despliegue con contenedores, las comunes van en el .env junto al compose.yml; el resto se pasan como environment a api y worker. Esta página resume las más importantes.

Variable Por defecto Para qué
INFRAWARD_REGISTRY Registro de donde se descargan las imágenes web, api y worker
INFRAWARD_VERSION latest Versión publicada (vX.Y.Z) o latest
INFRAWARD_PUBLIC_URL http://localhost:8080 URL con la que navegadores y servidores llegan a la web. Fuera de localhost, https
INFRAWARD_HTTP_PORT 8080 Puerto publicado de la web
ADMIN_EMAIL, ADMIN_PASSWORD Administrador inicial; solo se crea si no hay ningún usuario
POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD infraward Base de datos
COMPOSE_FILE con OpenBao Activa OpenBao; bórrala para usar solo el proveedor local
WORKER_REPLICAS 1 Réplicas del worker
Variable Por defecto Para qué
PUBLIC_URL URL pública desde la que los servidores descargan el script de alta
SESSION_TTL, SESSION_IDLE_TTL 43200, 7200 Caducidad absoluta y por inactividad de la sesión (s)
TRUST_PROXY loopback Proxies de confianza para la IP real del cliente
LOGIN_THROTTLE_LIMIT, LOGIN_THROTTLE_TTL 5, 60 Límite de intentos de login
REAUTH_MAX_AGE 600 Segundos tras los que las acciones sensibles piden reautenticación
ENROLLMENT_TOKEN_TTL 1200 Validez del token de alta (900–1800 s)
SECRETS_PROVIDERS local Proveedores de secretos activos (p. ej. openbao,local)
SECRETS_LOCAL_MASTER_KEY_FILE Clave maestra del proveedor local (32 bytes en base64)
VAULT_PROVIDER none Caja fuerte de credenciales: none, local u openbao. Solo en la API
TERMINAL_CERT_TTL 120 Vida de los certificados de la terminal (30–300 s)

Se activa con OIDC_ISSUER. Además: OIDC_CLIENT_ID, OIDC_CLIENT_SECRET_REF (siempre como referencia al proveedor de secretos, nunca en claro), OIDC_REDIRECT_URI, OIDC_ROLE_MAPPING (grupo=rol), OIDC_GROUPS_CLAIM y OIDC_UNMAPPED (deny o viewer). Con LOCAL_LOGIN=false solo entra el administrador local de emergencia.

Variable Por defecto Para qué
HOST_MAX_JOBS, HOST_MAX_SCAN_JOBS 2, 1 Trabajos y escaneos a la vez contra un mismo servidor, entre todas las réplicas
WORKER_SHUTDOWN_GRACE 90 Segundos de espera a los trabajos en curso al parar
COLLECT_TIMEOUT 600 Tiempo máximo de una recolección con Ansible (s)
TRIVY_CACHE_DIR Caché de las bases de datos de Trivy (unos 3 GB), compartida por todas las réplicas
TRIVY_DB_MAX_AGE 12 Horas tras las que se vuelven a descargar las bases de datos
SBOM_REEVALUATE_INTERVAL 24 Horas entre reevaluaciones de los SBOMs guardados (0 la desactiva)
VULN_INTEL_INTERVAL 12 Horas entre descargas de KEV y EPSS
KEV_URL, EPSS_URL fuentes públicas Vacías desactivan esa fuente (entornos sin salida a Internet)
RECONCILE_TICK 300 Segundos entre comprobaciones de reconciliación (0 la apaga)
RECONCILE_RETIRE_AFTER 3 Descubrimientos sin ver un asset antes de retirarlo
DOMAINS_DNS_SERVERS Servidores DNS propios para los dominios; vacío usa los del sistema

Comunes a la API y al worker cuando SECRETS_PROVIDERS incluye openbao: OPENBAO_ADDR, OPENBAO_ROLE_ID, OPENBAO_SECRET_ID_FILE, OPENBAO_KV_MOUNT, OPENBAO_KV_PREFIX, OPENBAO_SSH_MOUNT y OPENBAO_SSH_ROLE. La autenticación es siempre por AppRole, nunca con un token root. La API, el worker, la caja fuerte y la terminal usan AppRoles distintas.

La lista completa estará en los ficheros .env.example del repositorio cuando se publique.