> ## 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 en tiempo de despliegue para Lerian SRC: postura de runtime, licencia, identidad de la institución, PostgreSQL, eventos, Access Manager, IBM MQ, custodia de claves, datos en reposo y telemetría.

Lerian SRC lee su configuración del entorno del proceso al arrancar. Configuras estas variables en tiempo de despliegue. Un reinicio del servicio hace que tomen efecto. [Fundamentos de configuración de BYOC](/es/reference/byoc-configuration) cubre el modelo de configuración de BYOC.

En las tablas siguientes, la columna **Predeterminado / Obligatorio** muestra el valor que aplica Lerian SRC cuando dejas la variable sin definir. Un calificador en negrita marca una variable que debes definir, en todos los entornos o bajo una condición indicada. La condición "fuera del desarrollo local" significa todos los entornos excepto un `ENV_NAME` igual a `develop` o `development` con `DEPLOYMENT_MODE` vacío o `local`. El valor `—` significa que Lerian SRC no aplica ningún valor predeterminado. Una descripción que termina con "Sensible." marca una variable que guarda un secreto.

Un despliegue de producción es aquel en el que `ENV_NAME` indica producción o `DEPLOYMENT_MODE` es `saas` o `byoc`. Lerian SRC aplica verificaciones más estrictas en él.

<Note>
  Cuando un valor del archivo de ejemplo publicado difiere del valor que aplica el código, esta página publica el valor del código.
</Note>

## Servicio y runtime

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `SERVICE_NAME` | `br-src` | Nombre del servicio en los logs y en la telemetría. |
| `ENV_NAME` | `development` | Entorno de despliegue: `local`, `develop`, `development`, `uat`, `staging`, `prod` o `production`. Otro valor detiene el arranque. |
| `DEPLOYMENT_MODE` | `local`. **Obligatorio en producción** | Modelo de despliegue: `local`, `byoc` o `saas`. Otro valor detiene el arranque. |
| `LOG_LEVEL` | `info` | Nivel de log al arrancar: `debug`, `info`, `warn` o `error`. La clave de runtime `src.log.level` lo cambia mientras el servicio se ejecuta. |
| `SERVER_PORT` | `3006` | Puerto HTTP de escucha. |
| `TRUSTED_PROXIES` | `—` | Lista separada por comas de direcciones de proxy o rangos CIDR en los que Lerian SRC confía para la dirección IP del cliente. Vacía no confía en ningún proxy. |
| `PROXY_HEADER` | `X-Forwarded-For` cuando `TRUSTED_PROXIES` está definida | Header que lleva la dirección IP del cliente desde un proxy de confianza. |

## Licencia

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `LICENSE_KEY` | **Obligatorio** | Clave de licencia que emite Lerian. Sensible. |
| `ORGANIZATION_IDS` | **Obligatorio** | Lista separada por comas de los IDs de organización que cubre la licencia. Define al menos uno. |

## Identidad de la institución

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `SRC_CNPJ_BASE8` | **Obligatorio** | La base del CNPJ de tu institución: 8 caracteres de `0-9` y `A-Z`, no todos ceros. Lerian SRC deriva de ella los nombres de las colas IBM MQ y los números de operación. |
| `SRC_SENDER_ISPB` | **Obligatorio en producción, o cuando `SRC_MQ_HOST` está definida** | El ISPB de tu institución: 8 dígitos, no todos ceros. |

## PostgreSQL

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `POSTGRES_HOST` | **Obligatorio en producción** | Host de la base de datos. |
| `POSTGRES_PORT` | `5432` | Puerto de la base de datos. |
| `POSTGRES_USER` | **Obligatorio en producción** | Usuario de la base de datos. |
| `POSTGRES_PASSWORD` | `—` | Contraseña de la base de datos. Sensible. |
| `POSTGRES_DB` | **Obligatorio en producción** | Nombre de la base de datos. |
| `POSTGRES_SSLMODE` | `disable` | `sslmode` de PostgreSQL. |
| `POSTGRES_MAX_OPEN_CONNS` | `25` | Máximo de conexiones abiertas en el pool. |
| `POSTGRES_MAX_IDLE_CONNS` | `10` | Máximo de conexiones inactivas en el pool. |
| `POSTGRES_CONN_LIFETIME` | `30m` | Vida máxima de una conexión, como duración de Go. |
| `POSTGRES_CONN_IDLE_TIME` | `5m` | Tiempo máximo de inactividad de una conexión, como duración de Go. |

## Eventos

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `SRC_STREAMING_BROKERS` | `—`. **Obligatorio en producción**, a menos que `SRC_STREAMING_EMISSION_DISABLED` sea `true` | Lista separada por comas de direcciones de broker. |
| `SRC_STREAMING_CLIENT_ID` | `br-src` | ID de cliente del productor. |
| `SRC_STREAMING_SOURCE` | `br-src` | Source de CloudEvents. Déjala sin definir, o defínela exactamente como `br-src`. Otro valor detiene el arranque. |
| `SRC_STREAMING_TLS` | `false` | Activa TLS en la conexión con el broker. |
| `SRC_STREAMING_EMISSION_DISABLED` | `false` | Defínela como `true` para ejecutar sin broker. Los eventos quedan entonces pendientes en el outbox. |

## Access Manager

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `PLUGIN_AUTH_ENABLED` | **Obligatorio** | Activa la autenticación de Access Manager. Defínela como `true`. Un despliegue de producción rechaza `false`. |
| `PLUGIN_AUTH_ADDRESS` | **Obligatorio en producción** | Dirección de Access Manager. |
| `IDP_DECLARATION_ENABLED` | `false` | Defínela como `true` para publicar el manifiesto de permisos de Lerian SRC en Access Manager al arrancar. |
| `IDP_HOST` | **Obligatorio cuando `IDP_DECLARATION_ENABLED` es `true`** | Dirección del servicio de identidad de Access Manager que recibe el manifiesto. |
| `IDP_M2M_CLIENT_ID` | **Obligatorio cuando `IDP_DECLARATION_ENABLED` es `true`** | ID de cliente que Lerian SRC usa para publicar el manifiesto. |
| `IDP_M2M_CLIENT_SECRET` | **Obligatorio cuando `IDP_DECLARATION_ENABLED` es `true`** | Secreto de cliente que Lerian SRC usa para publicar el manifiesto. Sensible. |

## IBM MQ

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `SRC_MQ_HOST` | **Obligatorio en producción** | Host del gestor de colas IBM MQ de tu institución. |
| `SRC_MQ_PORT` | **Obligatorio cuando `SRC_MQ_HOST` está definida** | Puerto del listener de tu gestor de colas. |
| `SRC_MQ_CHANNEL` | **Obligatorio cuando `SRC_MQ_HOST` está definida** | Canal de conexión de servidor en tu gestor de colas. Como máximo 20 caracteres de `A-Z`, `a-z`, `0-9`, `.`, `/`, `_` y `%`. |
| `SRC_MQ_QUEUE_MANAGER` | **Obligatorio en producción** | Nombre de tu gestor de colas. |
| `SRC_MQ_USER` | `—` | ID de usuario de IBM MQ. |
| `SRC_MQ_PASSWORD` | `—` | Contraseña de IBM MQ. Sensible. |
| `SRC_MQ_TLS_ENABLED` | `false` | Activa TLS en la conexión IBM MQ. Un despliegue de producción exige `true`. |
| `SRC_MQ_SSL_KEY_REPOSITORY` | `—` | Raíz de la ruta del repositorio de claves de IBM MQ. |
| `SRC_MQ_CERT_LABEL` | `—` | Etiqueta del certificado, en el repositorio de claves, que presenta la conexión IBM MQ. |
| `SRC_MQ_CIPHER_SPEC` | `TLS_RSA_WITH_AES_256_CBC_SHA256` | Cipher spec de IBM MQ. |
| `SRC_MQ_SEND_QUEUE` | Derivado de `SRC_CNPJ_BASE8` | Nombre de la cola de envío. |
| `SRC_MQ_RECEIVE_QUEUE` | Derivado de `SRC_CNPJ_BASE8` | Nombre de la cola de recepción. |
| `SRC_MQ_BACKOUT_QUEUE` | El nombre de la cola de recepción seguido de `.BACKOUT` | Cola que recibe un mensaje después de que falla la entrega `SRC_MQ_BACKOUT_THRESHOLD` veces. |
| `SRC_MQ_BACKOUT_THRESHOLD` | `5` | Entregas fallidas antes de que un mensaje pase a la cola de backout. `0` desactiva el paso. |
| `SRC_MQ_BACKOUT_DELAY` | `2s` | Pausa después de una entrega fallida, como duración de Go. |
| `SRC_MQ_STALE_AFTER` | `30s` | Tiempo sin una llamada a IBM MQ completada antes de que la verificación `src_mq` informe `degraded`. `0` lo desactiva. |
| `SRC_MQ_HEARTBEAT_INTERVAL` | `30s` | Intervalo de heartbeat de IBM MQ, como duración de Go en segundos enteros. `0` usa el valor del canal. |

## Certificados y custodia de claves

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `SRC_LOCAL_CERT_FILE` | **Obligatorio en producción, o cuando `SRC_MQ_HOST` está definida** | Ruta del certificado de tu institución. Debe corresponder a la clave privada en PKCS#11 o KMIP. |
| `SRC_BACEN_CERT_FILE` | **Obligatorio en producción, o cuando `SRC_MQ_HOST` está definida** | Ruta del certificado de BACEN. Reinicia Lerian SRC después de reemplazarlo. |
| `SRC_PKCS11_MODULE_PATH` | `—` | Ruta de la biblioteca cliente de PKCS#11. |
| `SRC_PKCS11_TOKEN_LABEL` | `—` | Etiqueta del token PKCS#11. |
| `SRC_PKCS11_PIN_FILE` | `—` | Ruta del archivo que guarda el PIN de PKCS#11. |
| `SRC_PKCS11_KEY_LABEL` | `—` | Etiqueta del par de claves en el token PKCS#11. |
| `SRC_KMIP_BASE_URL` | `—` | URL base del servidor KMIP. |
| `SRC_KMIP_VHSM` | `—` | Identificador del HSM virtual. |
| `SRC_KMIP_CRYPTO_USER` | `—` | Usuario criptográfico de KMIP. |
| `SRC_KMIP_CRYPTO_USER_TOKEN` | `—` | Token del usuario criptográfico de KMIP. Sensible. |
| `SRC_KMIP_SIGN_PRIVATE_KEY_UID` | `—` | Identificador de la clave privada de firma. |
| `SRC_KMIP_SIGN_PUBLIC_KEY_UID` | `—` | Identificador de la clave pública correspondiente. |
| `SRC_KMIP_DECRYPT_KEY_UID` | `—` | Identificador de la clave de descifrado. |

## Datos en reposo

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `SRC_ATREST_ENCRYPTION_KEY` | **Obligatorio fuera del desarrollo local** | La clave de 32 bytes que cifra los datos de documento en reposo. Sensible. |
| `SRC_ATREST_BLIND_INDEX_KEY` | **Obligatorio fuera del desarrollo local** | La clave que Lerian SRC usa para buscar por número de documento. Al menos 32 caracteres, y distinta de `SRC_ATREST_ENCRYPTION_KEY`. Sensible. |

## Telemetría

| Variable | Predeterminado / Obligatorio | Descripción |
| - | - | - |
| `ENABLE_TELEMETRY` | `false`. **Un despliegue de producción exige `true`** | Activa la exportación de trazas y métricas por OTLP. |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | **Obligatorio en producción** | Dirección del collector de OTLP. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.