> ## 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 entorno de despliegue para Lerian SILOC: runtime, conectividad con la cola de liquidación SILOC, persistencia, autenticación y certificados.

Lerian SILOC es la integración de mensajería nativa de Lerian para SILOC, el sistema de liquidación diferida neta que Núclea opera para los flujos de boletos y tarjetas. Defines estas variables en el momento del despliegue. Un cambio surte efecto solo después de que reinicies el servicio. Para los ajustes que se comportan igual en todos los servicios Go de Lerian —postura de despliegue, telemetría y convenciones de almacenes de datos— consulta la [referencia de configuración BYOC](/es/reference/byoc-configuration).

<Note>
  Lerian SILOC es un servicio en fase temprana. Esta página documenta la superficie de configuración verificada actual. Espera que crezca a medida que el rail madure. Por ejemplo, Lerian planea un plano de configuración en tiempo de ejecución de systemplane pero aún no lo expone. Trata la propia referencia de entorno del servicio como la fuente de verdad para una versión dada.
</Note>

En las tablas siguientes, **Requerida** marca una variable que debes definir, de forma global o bajo la condición indicada. `—` significa que no hay valor por defecto.

## Runtime y servidor

| Variable          | Descripción                                                                                                                                                                                                          | Valor por defecto              | Requerida |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | --------- |
| `SERVICE_NAME`    | Identificador del servicio usado en los logs y la telemetría.                                                                                                                                                        | Valor por defecto del servicio | No        |
| `ENV_NAME`        | Etiqueta del entorno de runtime. `production` activa los controles de autenticación y TLS más estrictos de abajo.                                                                                                    | `development`                  | No        |
| `DEPLOYMENT_MODE` | Postura de imposición de TLS (`local`, `byoc`, `saas`). `saas` hace obligatorio el TLS y se niega a arrancar sin él. Consulta [Modo de despliegue y TLS](/es/reference/byoc-configuration#modo-de-despliegue-y-tls). | —                              | No        |
| `LOG_LEVEL`       | Verbosidad de los logs (`debug`, `info`, `warn`, `error`).                                                                                                                                                           | `info`                         | No        |
| `SERVER_PORT`     | Puerto de escucha HTTP. Las sondas de liveness y readiness se enlazan a este mismo puerto.                                                                                                                           | `9820`                         | No        |

## Autenticación

Lerian SILOC autoriza las rutas protegidas a través de Access Manager. Funciona cerrado por defecto: la autenticación permanece activada salvo que la deshabilites.

| Variable       | Descripción                                                                                          | Valor por defecto | Requerida     |
| -------------- | ---------------------------------------------------------------------------------------------------- | ----------------- | ------------- |
| `AUTH_ENABLED` | Exige autenticación de Access Manager en las rutas protegidas. Debe ser `true` en producción y SaaS. | `true`            | En producción |
| `AUTH_ADDRESS` | Dirección del servicio Access Manager. Debe ser una URL `https://` válida en producción y SaaS.      | —                 | En producción |

## PostgreSQL

La réplica recurre al host primario cuando dejas `DB_REPLICA_HOST` vacío (valor por defecto de un solo nodo).

| Variable          | Descripción                                                                                                           | Valor por defecto | Requerida    |
| ----------------- | --------------------------------------------------------------------------------------------------------------------- | ----------------- | ------------ |
| `DB_HOST`         | Host de PostgreSQL.                                                                                                   | —                 | Sí (en vivo) |
| `DB_PORT`         | Puerto de PostgreSQL.                                                                                                 | `5432`            | No           |
| `DB_USER`         | Usuario de la base de datos.                                                                                          | —                 | Sí (en vivo) |
| `DB_PASSWORD`     | Contraseña de la base de datos. Sensible: inyéctala en el momento del despliegue; nunca la guardes en el repositorio. | —                 | Sí (en vivo) |
| `DB_NAME`         | Nombre de la base de datos.                                                                                           | —                 | Sí (en vivo) |
| `DB_SSLMODE`      | Modo TLS de libpq. Usa `require` o más estricto en producción.                                                        | `disable`         | No           |
| `DB_REPLICA_HOST` | Host de réplica de lectura opcional. Recurre a `DB_HOST` cuando no se define.                                         | —                 | No           |

## Redis

| Variable         | Descripción                                                                                                         | Valor por defecto | Requerida |
| ---------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------- | --------- |
| `REDIS_ADDRESS`  | Host y puerto de Redis/Valkey.                                                                                      | —                 | No        |
| `REDIS_PASSWORD` | Contraseña de Redis. Sensible.                                                                                      | —                 | No        |
| `REDIS_DB`       | Número de base de datos de Redis.                                                                                   | `0`               | No        |
| `REDIS_TLS`      | Define la postura TLS que informa la comprobación de readiness de Redis. No configura TLS para el transporte Redis. | `false`           | No        |

## Conectividad de liquidación SILOC

Lerian SILOC mantiene una única conexión IBM MQ al gestor de colas de liquidación SILOC de Núclea. Si defines `MQ_HOST`, `MQ_CHANNEL`, `MQ_QUEUE_MANAGER`, `MQ_SEND_QUEUE` o `MQ_RECEIVE_QUEUE`, el servicio valida todo el descriptor de conexión de forma cerrada al arrancar. `MQ_PORT`, `MQ_TLS_ENABLED` y `MQ_SSL_KEY_REPOSITORY` por sí solas no activan esa validación.

| Variable                | Descripción                                                                                                                                                                                                                                                                                                            | Valor por defecto | Requerida              |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ---------------------- |
| `MQ_HOST`               | Host del gestor de colas.                                                                                                                                                                                                                                                                                              | —                 | Sí (SILOC en vivo)     |
| `MQ_PORT`               | Puerto de escucha del gestor de colas.                                                                                                                                                                                                                                                                                 | —                 | Sí (SILOC en vivo)     |
| `MQ_QUEUE_MANAGER`      | Nombre del gestor de colas. Debe ser el gestor de colas de liquidación SILOC de Núclea.                                                                                                                                                                                                                                | —                 | Sí (SILOC en vivo)     |
| `MQ_CHANNEL`            | Canal de conexión de servidor. Debe coincidir con el patrón de canal SILOC de Núclea `C02992335.<ISPB>.1`, donde `<ISPB>` es el ISPB de 8 dígitos del participante.                                                                                                                                                    | —                 | Sí (SILOC en vivo)     |
| `MQ_SEND_QUEUE`         | Cola de envío saliente.                                                                                                                                                                                                                                                                                                | —                 | Sí (SILOC en vivo)     |
| `MQ_RECEIVE_QUEUE`      | Cola de recepción entrante.                                                                                                                                                                                                                                                                                            | —                 | Sí (SILOC en vivo)     |
| `MQ_TLS_ENABLED`        | Habilita el TLS mutuo en el canal MQ. Debe ser `true` en producción.                                                                                                                                                                                                                                                   | `false`           | En producción          |
| `MQ_SSL_KEY_REPOSITORY` | Ruta al repositorio de claves GSKit (`MQSSLKEYR`) que respalda el TLS de MQ. La clave privada reside aquí, nunca en una variable de entorno. Requerida cuando `MQ_TLS_ENABLED=true`.                                                                                                                                   | —                 | Si TLS está habilitado |
| `CAMARA_PAG_ISPB`       | El ISPB de 8 dígitos de la câmara SILOC. Cada mensaje de liquidación entrante se autoriza contra este emisor antes de tener cualquier efecto semántico. Coincide con el prefijo del canal de liquidación, así que solo la sobrescribes para una câmara de prueba. Un valor que no sea de 8 dígitos impide el arranque. | `02992335`        | No                     |

## Certificados

| Variable                  | Descripción                                                                                                                                                                                              | Valor por defecto | Requerida |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | --------- |
| `CERT_READINESS_MIN_DAYS` | Umbral de días hasta la expiración que registra una advertencia para un certificado actualmente válido. No degrada el readiness solo porque el certificado esté próximo a expirar. Debe ser mayor que 0. | `30`              | No        |

## Confianza y custodia

| Variable                    | Descripción                                                                                                    | Valor por defecto | Requerida |
| --------------------------- | -------------------------------------------------------------------------------------------------------------- | ----------------- | --------- |
| `SFN_TRUST_MANIFEST_PATH`   | Ruta al manifiesto de confianza SFN utilizado para validar el material de confianza de los mensajes regulados. | —                 | No        |
| `SFN_CUSTODY_CONFIG_PATH`   | Ruta a la configuración del proveedor de custodia.                                                             | —                 | No        |
| `SFN_CUSTODY_CACHE_ENTRIES` | Número máximo de entradas de custodia conservadas en la caché en memoria.                                      | `16`              | No        |

## Observabilidad

| Variable                      | Descripción                                                                                                                                                                                                                                                                                                                                                                       | Valor por defecto | Requerida                        |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | -------------------------------- |
| `ENABLE_TELEMETRY`            | Habilita la instrumentación de OpenTelemetry.                                                                                                                                                                                                                                                                                                                                     | `false`           | No                               |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Endpoint del colector OTLP.                                                                                                                                                                                                                                                                                                                                                       | —                 | Si la telemetría está habilitada |
| `STREAMING_BROKERS`           | Direcciones de broker para el dispatcher obligatorio de hechos SILOC. El streaming no tiene un modo deshabilitado: una configuración de broker ausente o inválida impide el inicio en lugar de dejar hechos como `PENDING`. Configura los ajustes compartidos `STREAMING_*` como se describe en [Streaming y outbox](/es/reference/byoc-configuration#streaming-y-outbox).        | —                 | Sí                               |
| `LDL_FACT_CONSUMER_ENABLED`   | Habilita el consumidor de los hechos autoritativos de liquidación LDL de SPB. Cada hecho completa la instrucción SILOC que autoriza. Con `true`, `STREAMING_BROKERS` y el almacén PostgreSQL son obligatorios, y el servicio se niega a arrancar sin ellos. Deshabilitado, su comprobación de readiness informa `skipped`; en ejecución, la comprobación no bloquea el readiness. | `false`           | No                               |

## Salud y readiness

Lerian SILOC expone `GET /health` (liveness), `GET /readyz` (readiness) y `GET /version` en el puerto HTTP principal. El servicio arranca y sirve estas sondas incluso antes de que sus almacenes de datos y la conexión de liquidación sean accesibles. `/readyz` informa la salud de cada dependencia. Consulta [Salud y readiness](/es/reference/health-and-readiness) para el contrato de las sondas.
