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.
Despliegue (.env del Compose)
Sección titulada «Despliegue (.env del Compose)»| 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) |
Login con OIDC
Sección titulada «Login con OIDC»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 |
OpenBao
Sección titulada «OpenBao»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.