> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Variables de entorno

> Variables de despliegue específicas de Consignado para la conectividad con Dataprev, workers, subastas, credenciales, artefactos, ritmo y ventanas operativas.

Configura estas variables en el momento del despliegue. A menos que se indique lo contrario, cambiar una requiere un reinicio. La [referencia de configuración de BYOC](/es/reference/byoc-configuration) cubre el runtime compartido de Lerian: servidor, almacenes de datos, multi-tenancy, telemetría, autenticación, streaming, outbox y licenciamiento. Esta página enumera los ajustes específicos de Consignado y los pocos ajustes compartidos que cambian materialmente el comportamiento de este riel.

`—` significa que no hay un valor predeterminado. Las variables que contienen certificados, claves privadas, secretos de OAuth o claves HMAC son sensibles y deben provenir de un gestor de secretos.

## Modo de servicio y tenant

| Variable | Predeterminado | Propósito |
| - | - | - |
| `SERVER_ADDRESS` | `:8080` | Listener HTTP principal para la API y los probes. |
| `ENV_NAME` | `development` | Activa el endurecimiento de producción cuando se establece en `production`. |
| `ENVIRONMENT_NAME` | — | Entorno del listener de eventos multi-tenant; recurre a `ENV_NAME`. |
| `SYSTEMPLANE_ENABLED` | `false` | Habilita la configuración en tiempo de ejecución bajo `/system`. |
| `MULTI_TENANT_ENABLED` | `false` | Selecciona la custodia de credenciales de Dataprev por tenant en lugar del fallback estático single-tenant. |
| `DEFAULT_TENANT_ID` | `default` | Tenant usado en modo single-tenant. |
| `OUTBOX_ENABLED` | `true` | Debe ser `true`; el arranque rechaza un despliegue que no puede registrar los hechos del riel de forma duradera. |
| `STREAMING_ENABLED` | `true` | Debe ser `true`; el relay de streaming es el único publisher de los hechos del outbox. |
| `STREAMING_BROKERS` | — | Lista de brokers obligatoria. El arranque rechaza un relay sin destino. |
| `STREAMING_CLOUDEVENTS_SOURCE` | — | Debe ser exactamente `consignado-gw`. El arranque rechaza cualquier otro valor; un source incorrecto significa que ningún hecho llega jamás a un consumidor. |

## Cliente de Dataprev y autenticación

| Variable | Predeterminado | Propósito |
| - | - | - |
| `DATAPREV_ENABLED` | `false` | Interruptor maestro para el runtime del riel de Dataprev. |
| `DATAPREV_BASE_URL` | — | URL base para la API principal de Dataprev. Se requiere HTTPS en los despliegues gestionados; local/dev permite HTTP solo para hosts loopback. |
| `DATAPREV_TOMBAMENTO_BASE_URL` | — | Endpoint separado para las operaciones de tombamento. Vacío mantiene esas operaciones no disponibles. Sigue la misma política de HTTPS/loopback. |
| `DATAPREV_OAUTH_TOKEN_URL` | — | Endpoint de token de OAuth2. Se requiere HTTPS en los despliegues gestionados; local/dev permite HTTP solo para hosts loopback. |
| `DATAPREV_OAUTH_CLIENT_ID` | — | Fallback de ID de cliente OAuth single-tenant. Sensible. |
| `DATAPREV_OAUTH_CLIENT_SECRET` | — | Fallback de secreto de cliente OAuth single-tenant. Sensible. |
| `DATAPREV_OAUTH_SCOPES` | — | Ámbitos de OAuth solicitados a Dataprev, delimitados por espacios. |
| `DATAPREV_CERT_FILE` | — | Ruta local del certificado ICP-Brasil para desarrollo single-tenant no gestionado. Sensible. |
| `DATAPREV_KEY_FILE` | — | Ruta local de la clave privada emparejada con `DATAPREV_CERT_FILE`. Sensible. |
| `DATAPREV_CODIGO_SOLICITANTE` | — | Fallback del código de solicitante de tres dígitos para el modo single-tenant. |
| `DATAPREV_REQUEST_TIMEOUT_SEC` | `30` | Timeout para una solicitud a Dataprev. |
| `DATAPREV_REQUESTS_PER_SECOND` | `25` | Techo de operador validado y valor predeterminado de Systemplane para el ritmo del riel. |
| `DATAPREV_CONSENT_CACHE_HMAC_KEY` | — | Clave HMAC usada para indexar las entradas de caché de consentimiento del trabajador sin exponer el CPF. Obligatoria cuando el riel usa Redis. Sensible. |

Los despliegues gestionados deben usar la custodia de credenciales por tenant. Fallan en modo cerrado en lugar de recurrir a un cliente no autenticado o no mTLS.

## Ventanas de contrato y portabilidad

| Variable | Predeterminado | Propósito |
| - | - | - |
| `DATAPREV_AVERBACAO_ENABLED` | `false` | Habilita el runtime de averbação y la ruta de testigo de propuesta. |
| `DATAPREV_PORTABILIDADE_SOLICITACAO_WINDOW_HOURS` | `72` | Ventana retrospectiva para las propuestas de portabilidad. |
| `DATAPREV_PORTABILIDADE_INCLUSAO_GARANTIAS_PATH` | — | Anulación de la ruta de envío de garantía de portabilidad de Dataprev. |
| `DATAPREV_PORTABILIDADE_AVERBACAO_WINDOW_DAYS` | `20` | Ventana para completar el registro de portabilidad saliente. |
| `DATAPREV_REFINANCIAMENTO_REVERSAO_WINDOW_BUSINESS_DAYS` | `7` | Ventana en días hábiles para la reversión de refinanciamiento. |
| `DATAPREV_SALDO_DEVEDOR_CLOCK_INTERVAL_SEC` | `86400` | Cadencia para las obligaciones de saldo pendiente y el fallback de fin de mes. |

## Conciliación y feeds de empleo

| Variable | Predeterminado | Propósito |
| - | - | - |
| `DATAPREV_RECONCILIATION_ENABLED` | `false` | Habilita la contabilidad de nómina y la conciliación de repasse. |
| `DATAPREV_RECONCILIATION_INTERVAL_SEC` | `3600` | Cadencia de conciliación. |
| `DATAPREV_RECONCILIATION_LOOKBACK_MONTHS` | `1` | Competencias de nómina anteriores incluidas en cada pasada. |
| `DATAPREV_RECONCILIATION_CNPJS` | — | Alcances de empleador separados por comas; vacío lee el feed de todo el riel. |
| `DATAPREV_RECONCILIATION_TENANT_ID` | — | Tenant usado por los feeds programados single-tenant. |
| `DATAPREV_EMPLOYMENT_REPORT_ENABLED` | `false` | Habilita el feed de terminación de empleo. |
| `DATAPREV_EMPLOYMENT_REPORT_ADAPTER` | `disabled` | `dataprev` para el adaptador real; `fake` es solo local. |
| `DATAPREV_EMPLOYMENT_REPORT_INTERVAL_SEC` | `3600` | Cadencia del informe de empleo. |
| `DATAPREV_EMPLOYMENT_REPORT_PAGE_SIZE` | `100` | Registros solicitados por página. |
| `DATAPREV_EMPLOYMENT_REPORT_CONCURRENCY` | `4` | Workers concurrentes por tenant. |
| `DATAPREV_EMPLOYMENT_REPORT_TENANT_TIMEOUT_SEC` | `300` | Tiempo máximo de procesamiento para un tenant en una pasada. |

## Exclusión y redirección

| Variable | Predeterminado | Propósito |
| - | - | - |
| `DATAPREV_EXCLUSION_ENABLED` | `false` | Habilita la admisión y recuperación de exclusión. |
| `DATAPREV_EXCLUSION_PROVIDER_TIMEOUT_SEC` | `30` | Timeout para una llamada al proveedor de exclusión. |
| `DATAPREV_EXCLUSION_CLAIM_DWELL_SEC` | `60` | Espera mínima antes de que el trabajo reclamado pueda reintentarse. |
| `DATAPREV_EXCLUSION_STATUS_CHECK_LEASE_SEC` | `60` | Lease para las comprobaciones de estado de exclusión. |
| `DATAPREV_EXCLUSION_RECOVERY_INTERVAL_SEC` | `30` | Cadencia del bucle de recuperación. |
| `DATAPREV_EXCLUSION_RECOVERY_BATCH` | `50` | Operaciones reclamadas por pasada. |
| `DATAPREV_EXCLUSION_RECOVERY_CONCURRENCY` | `4` | Workers concurrentes de recuperación. |
| `DATAPREV_EXCLUSION_RECOVERY_TENANT_TIMEOUT_SEC` | `60` | Tiempo máximo de procesamiento para un tenant en una pasada. |
| `DATAPREV_REDIRECTION_ADAPTER` | `disabled` | Selección del adaptador de redirección. `fake` se acepta solo para desarrollo local. |

`DATAPREV_EXCLUSION_ADAPTER` y `DATAPREV_EXCLUSION_FAKE_BASE_URL` están retiradas. Elimínalas de los manifiestos de despliegue. Los valores heredados que no sean inertes fallan la validación.

## Recuperación de resultado

Un comando del riel puede terminar con su resultado sin establecer: el proceso murió a mitad de la llamada, o Dataprev nunca respondió. Dos bucles de recuperación convergen ese estado contra el propio registro del riel. Ambos bucles están desactivados por defecto. Habilítalos en cualquier despliegue que envíe averbações o comandos del riel. De lo contrario, un resultado sin establecer nunca se resuelve.

| Variable | Predeterminado | Propósito |
| - | - | - |
| `DATAPREV_AVERBACAO_RECOVERY_ENABLED` | `false` | Habilita la convergencia de resultado de averbação. |
| `DATAPREV_AVERBACAO_RECOVERY_INTERVAL_SEC` | `60` | Cadencia de convergencia. |
| `DATAPREV_AVERBACAO_RECOVERY_BATCH` | `50` | Registros reclamados por pasada. |
| `DATAPREV_AVERBACAO_RECOVERY_CONCURRENCY` | `4` | Workers concurrentes por tenant. |
| `DATAPREV_AVERBACAO_RECOVERY_TENANT_TIMEOUT_SEC` | `60` | Tiempo máximo de procesamiento para un tenant en una pasada. |
| `DATAPREV_AVERBACAO_RECOVERY_MINIMUM_DWELL_SEC` | `300` | Antigüedad mínima antes de conciliar un resultado sin establecer. |
| `DATAPREV_AVERBACAO_RECOVERY_PROVIDER_TIMEOUT_SEC` | `30` | Timeout para una lectura del registro. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_ENABLED` | `false` | Habilita la convergencia para el refinanciamiento, la reversión, la renegociación y la exclusión de portabilidad del lado de origen. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_INTERVAL_SEC` | `60` | Cadencia de convergencia. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_BATCH` | `50` | Registros reclamados por pasada. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_CONCURRENCY` | `4` | Workers concurrentes por tenant. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_TENANT_TIMEOUT_SEC` | `60` | Tiempo máximo de procesamiento para un tenant en una pasada. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_MINIMUM_DWELL_SEC` | `300` | Antigüedad mínima antes de conciliar un resultado sin establecer. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_PROVIDER_TIMEOUT_SEC` | `30` | Timeout para una lectura del registro. |

## Subastas y ofertas de clientes

| Variable | Predeterminado | Propósito |
| - | - | - |
| `LEILAO_ENABLED` | `false` | Habilita el descubrimiento programado de solicitudes de préstamo abiertas. |
| `LEILAO_CLIENT_BID_ENABLED` | `false` | Habilita la superficie de comando de oferta de cliente autenticada. |
| `LEILAO_INTERVAL_SEC` | `3600` | Cadencia de descubrimiento de subastas. |
| `LEILAO_TENANT_ID` | — | Tenant usado por los flujos de subasta M001 y de descubrimiento de portabilidad M011. Obligatorio cuando alguno de los flujos habilitados lo necesita. |
| `LEILAO_PORTAL_BASE_URL` | — | Fallback opcional de la URL base del portal del trabajador single-tenant. Dejarla sin establecer es un despliegue válido: las ofertas viajan entonces con los contactos propios del cliente. Un valor establecido se valida en el arranque; uno inseguro hace que el arranque falle en modo cerrado. |
| `LEILAO_DISCOVERY_LOOKBACK_HOURS` | `8760` | Ventana retrospectiva inicial y de recuperación para las solicitudes abiertas. |
| `LEILAO_DISCOVERY_CLOCK_SKEW_SEC` | `300` | Superposición de desfase de reloj aplicada a las ventanas de descubrimiento. |
| `LEILAO_PORTABILITY_ENABLED` | `false` | Habilita el descubrimiento de portabilidad M011. Esto es independiente de `LEILAO_ENABLED`. |
| `LEILAO_PORTABILITY_INTERVAL_SEC` | `3600` | Cadencia de la pasada de descubrimiento de portabilidad M011. |
| `LEILAO_BID_MANAGER_RPS` | `25` | Presupuesto de solicitudes para el fan-out del bid manager. |
| `LEILAO_BID_MANAGER_BURST` | `25` | Presupuesto de ráfaga inmediata para el fan-out del bid manager. |
| `LEILAO_DECIDE_DEADLINE_SEC` | `5` | Plazo de decisión por bid manager. |

El descubrimiento de portabilidad M011 requiere `LEILAO_PORTABILITY_ENABLED=true`, `LEILAO_TENANT_ID`, `DATAPREV_ENABLED=true`, `STREAMING_ENABLED=true`, una base de datos primaria y el outbox canónico. No requiere `LEILAO_ENABLED=true`. La ventana de listado de portabilidad es de 72 horas por defecto (`DATAPREV_PORTABILIDADE_SOLICITACAO_WINDOW_HOURS`). El servicio se niega a arrancar a menos que esa ventana sea más amplia que `LEILAO_PORTABILITY_INTERVAL_SEC` más el margen de 300 segundos de `LEILAO_DISCOVERY_CLOCK_SKEW_SEC`.

## Custodia de credenciales y artefactos

| Variable | Predeterminado | Propósito |
| - | - | - |
| `CREDENTIALS_STORE_ENABLED` | `false` | Habilita la custodia de credenciales por tenant. Obligatoria cuando el riel de Dataprev se ejecuta en un despliegue gestionado. |
| `CREDENTIALS_CLEANUP_INTERVAL_SEC` | `30` | Cadencia de limpieza de credenciales. |
| `CREDENTIALS_CLEANUP_BATCH_SIZE` | `50` | Credenciales reclamadas por pasada de limpieza. |
| `CREDENTIALS_CLEANUP_CONCURRENCY` | `4` | Workers concurrentes de limpieza. |
| `CREDENTIALS_CLEANUP_LEASE_SEC` | `60` | Lease de limpieza. |
| `CREDENTIALS_CLEANUP_PERSISTENCE_TIMEOUT_SEC` | `5` | Timeout de persistencia para una operación de limpieza. |
| `AVERBACAO_ARTIFACTS_BUCKET` | — | Bucket privado de almacén de objetos para el CCB y los artefactos del riel. Obligatorio cuando `DATAPREV_AVERBACAO_ENABLED=true`. |
| `AVERBACAO_ARTIFACTS_ENDPOINT_URL` | — | Anulación de endpoint compatible con S3 para almacenes de objetos locales o privados. |
| `AVERBACAO_ARTIFACTS_USE_PATH_STYLE` | `false` | Usa direccionamiento S3 de estilo de ruta cuando está habilitado. |
| `AWS_REGION` | — | Región usada por la custodia de credenciales y el almacenamiento de artefactos. Deliberadamente no tiene valor predeterminado: un valor sin establecer permite que el SDK de AWS resuelva la propia región de la institución, y uno codificado la anularía. Establécela explícitamente para la región en la que deben permanecer tus datos. |
| `AWS_ENDPOINT_URL` | — | Anulación de endpoint compatible con AWS para el desarrollo local. No la establezcas en producción gestionada de AWS. |

<Note>
  Consignado no tiene ningún modo de arranque no orientado a eventos: el outbox, el streaming y los brokers son obligatorios aunque la plataforma comparta esos ajustes. Mantén el source de CloudEvent fijado en `consignado-gw`.
</Note>
