> ## 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 STA: el entorno de destino en BACEN, el almacenamiento de objetos compatible con S3 y las claves maestras de cifrado envelope.

Lerian STA es el riel propio de Lerian que transmite y recibe archivos con el hub STA de BACEN. Configuras estas variables en tiempo de despliegue. Un reinicio del servicio hace que tomen efecto. Todo servicio Go de Lerian comparte una base común: servidor, almacenes de datos, multi-tenancy, telemetría, autenticación de plugins y licenciamiento. [Fundamentos de configuración de BYOC](/es/reference/byoc-configuration) documenta esa base común una sola vez. Esta página cubre solo las variables propias de Lerian STA.

En las tablas siguientes, la columna **Predeterminado / Obligatorio** muestra el valor predeterminado. Un calificador en negrita marca una variable que debes configurar, como **Obligatorio** o **Obligatorio en producción**. `—` significa que no hay valor predeterminado. Una variable marcada como **Sensible** lleva material de credenciales o claves. Inyéctala desde tu gestor de secretos en tiempo de despliegue. Nunca hagas commit de un valor.

## Servicio y runtime

| Variable              | Predeterminado / Obligatorio           | Descripción                                                                                                                                                                                                                                                                    |
| --------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `SERVER_ADDRESS`      | `:4028`                                | Dirección de escucha HTTP principal. Los probes de liveness, readiness, métricas y versión se enlazan a este mismo puerto.                                                                                                                                                     |
| `SYSTEMPLANE_ENABLED` | `false`                                | Habilita la API de administración de configuración en tiempo de ejecución de [Systemplane](/es/reference/platform/systemplane/overview) bajo el prefijo `/system` en el puerto principal. Desactivado de forma predeterminada (modo de solo variables de entorno).             |
| `DEFAULT_TENANT_ID`   | `11111111-1111-1111-1111-111111111111` | UUID de fallback usado solo para el `ce-tenantid` de streaming/outbox cuando un evento no tiene ID de tenant; no se inyecta en el contexto habitual de solicitud o transferencia de tenant único.                                                                              |
| `BACEN_ENVIRONMENT`   | `homologation`                         | Selecciona el destino upstream de BACEN STA para el probe de conectividad: `homologation` (staging) o `production` (en vivo). Un valor no reconocido vuelve a `homologation`, de modo que un stack que no es de producción no puede enrutar tráfico al servicio BACEN en vivo. |

<Note>
  Lerian STA expone `/health` (liveness) y `/readyz` (readiness) en el puerto principal, además de `/version` y `/metrics`. Cuando habilitas multi-tenancy, también expone `GET /readyz/tenant/{id}`. Consulta [Health and readiness](/es/reference/health-and-readiness) para conocer el contrato del probe.
</Note>

## Almacenamiento de objetos

Lerian STA persiste los bytes de la transferencia y las descargas entrantes en un almacén de objetos compatible con S3. Cada subsistema configura su propia conexión a través del AWS SDK, de modo que el mismo cableado impulsa AWS S3, MinIO o un almacén local.

| Variable                                       | Predeterminado / Obligatorio  | Descripción                                                                                                                                                                                                    |
| ---------------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TRANSFER_OBJECT_STORAGE_BUCKET`               | **Obligatorio en producción** | Bucket que contiene ambas direcciones de transferencia, indexado por prefijo de dirección. El arranque en producción se rechaza si está vacío, sin importar si las transferencias entrantes están habilitadas. |
| `TRANSFER_INBOUND_ENABLED`                     | `false`                       | Habilita el pipeline de transferencias entrantes (extraídas por BACEN). No cambia el requisito del bucket en producción porque las transferencias salientes también usan el bucket.                            |
| `TRANSFER_INBOUND_MAX_FILE_SIZE_BYTES`         | `5368709120`                  | Tamaño máximo de archivo entrante anunciado por BACEN, en bytes (5 GiB). Un valor de `0` o menor deshabilita este límite de admisión.                                                                          |
| `TRANSFER_INBOUND_EXTRACT_MAX_EXPANSION_RATIO` | `100`                         | Relación máxima entre el tamaño de la entrada extraída y su envelope ZIP entregado. Un valor de `0` o menor deshabilita la verificación de la relación.                                                        |
| `TRANSFER_INBOUND_EXTRACT_MAX_EXTRACTED_BYTES` | `5368709120`                  | Tamaño máximo absoluto de la única entrada ZIP extraída, en bytes (5 GiB). Un valor de `0` o menor deshabilita este límite.                                                                                    |
| `AWS_REGION`                                   | —                             | Región para el AWS Secrets Manager M2M y, cuando `MASTER_KEY_KMS_REGION` está vacío, el fallback de AWS KMS. No configura el almacenamiento de objetos.                                                        |
| `AWS_ACCESS_KEY_ID`                            | —                             | Clave de acceso para el almacén de objetos. Sensible. Déjala sin configurar cuando un rol de IAM adjunto proporcione las credenciales.                                                                         |
| `AWS_SECRET_ACCESS_KEY`                        | —                             | Clave secreta para el almacén de objetos. Sensible. Déjala sin configurar cuando un rol de IAM adjunto proporcione las credenciales.                                                                           |

## Cifrado envelope

Lerian STA protege las credenciales del operador con cifrado envelope AES-GCM. El proceso gestor siempre necesita el material de la clave maestra. Un valor faltante o malformado aborta el arranque.

| Variable                       | Predeterminado / Obligatorio    | Descripción                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------ | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MASTER_KEY_PROVIDER`          | `envvar`                        | Origen de la clave de cifrado envelope: `envvar` (clave leída desde `MASTER_KEYS`) o `aws-kms` (clave envuelta por un KMS en la nube).                                                                                                                                                                                                                               |
| `MASTER_KEY_VERSION`           | **Obligatorio**                 | Selecciona la versión de clave maestra actualmente activa. Debe coincidir con una versión presente en `MASTER_KEYS`.                                                                                                                                                                                                                                                 |
| `MASTER_KEYS`                  | **Obligatorio**                 | Pares `version:key` separados por comas. Sensible. Con `envvar`, cada valor es una clave AES-256 de 64 caracteres hexadecimales: `version:<64-hex-key>`. Con `aws-kms`, cada valor es texto cifrado KMS en base64: `version:<base64-ciphertext>`, descifrado en el proceso. Obténlo desde tu gestor de secretos — un valor faltante o malformado aborta el arranque. |
| `MASTER_KEY_KMS_KEY_ID`        | **Obligatorio si es `aws-kms`** | Identificador de la clave de AWS KMS usada para descifrar el texto cifrado de `MASTER_KEYS`. Con `aws-kms`, el texto cifrado se descifra en el proceso de STA.                                                                                                                                                                                                       |
| `CREDENTIALS_RECOVERY_ON_BOOT` | `false`                         | Configúralo explícitamente en `true` para ejecutar, una vez en el arranque, el barrido de recuperación de credenciales del lado del worker para credenciales que quedaron a mitad de rotación por un proceso anterior.                                                                                                                                               |

<Note>
  Lerian STA ejecuta su pipeline de auditoría en un worker dedicado. El publicador, el consumidor y el generador de exportación admiten los modos single-tenant y multi-tenant. El generador de exportación también necesita su bucket de S3. El gestor de particiones, la limpieza y el verificador requieren multi-tenancy.

  Configura los flags habilitados y los parámetros necesarios a través de las familias `AUDIT_PUBLISHER_*`, `AUDIT_CONSUMER_*`, `AUDIT_PARTITION_*`, `AUDIT_CLEANUP_*`, `AUDIT_VERIFIER_*`, `AUDIT_EXPORT_GENERATOR_*` y `AUDIT_EXPORT_RATE_LIMIT_*`. El runtime aplica sus valores predeterminados declarados. Habilita explícitamente un worker antes de esperar que se ejecute.
</Note>
