> ## 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 distintivas de Lerian STA: el objetivo del entorno de BACEN, el almacenamiento de objetos compatible con S3, las claves maestras de cifrado de sobre y el trust store.

Lerian STA es el rail propiedad de Lerian que transmite y recibe archivos con el hub STA de BACEN. Estas variables se definen en el momento del despliegue y requieren reiniciar el servicio para surtir efecto. El backbone universal que comparte cada servicio Go de Lerian —servidor, almacenes de datos, multi-tenancy, telemetría, autenticación de plugins y licenciamiento— se documenta una sola vez en la [referencia de configuración BYOC](/es/reference/byoc-configuration); esta página cubre solo las variables distintivas de Lerian STA.

En las tablas siguientes, la columna **Valor por defecto / Requerida** muestra el valor por defecto; un calificador en negrita (por ejemplo **Requerida**, **Requerida en producción**) marca las variables que deben definirse. `—` significa que no hay valor por defecto. Cualquier variable marcada como **Sensible** contiene material de credenciales o claves: inyéctala desde tu gestor de secretos en el momento del despliegue y nunca guardes un valor en el repositorio.

## Servicio y runtime

| Variable              | Valor por defecto / Requerida          | Descripción                                                                                                                                                                                                                                                              |
| --------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `SERVER_ADDRESS`      | `:4028`                                | Dirección de escucha HTTP principal. Las sondas 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/systemplane/overview) bajo el prefijo `/system` en el puerto principal. Desactivada por defecto (modo solo variables de entorno).                               |
| `DEFAULT_TENANT_ID`   | `11111111-1111-1111-1111-111111111111` | UUID de tenant usado en modo de un solo tenant. Debe ser un UUID válido.                                                                                                                                                                                                 |
| `BACEN_ENVIRONMENT`   | `homologation`                         | Selecciona el objetivo STA de BACEN upstream para la sonda de conectividad: `homologation` (staging) o `production` (en vivo). Un valor no reconocido recae en `homologation`, de modo que un stack no productivo no pueda enrutar tráfico al servicio de BACEN en vivo. |

<Note>
  Lerian STA expone `/health` (liveness) y `/readyz` (readiness) en el puerto principal, además de `/version` y `/metrics` y —cuando la multi-tenancy está habilitada— `GET /readyz/tenant/{id}`. Consulta [Salud y readiness](/es/reference/health-and-readiness) para el contrato de las sondas.
</Note>

## Almacenamiento de objetos

Lerian STA persiste los bytes de 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 sirve para AWS S3, MinIO o un almacén local.

| Variable                               | Valor por defecto / Requerida | Descripción                                                                                                                                             |
| -------------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TRANSFER_OBJECT_STORAGE_BUCKET`       | **Requerida en producción**   | Bucket que contiene ambas direcciones de transferencia, indexado por prefijo de dirección. El arranque se rechaza si está vacío en producción.          |
| `TRANSFER_INBOUND_ENABLED`             | `false`                       | Habilita la pipeline de transferencia entrante (extraída por BACEN). Cuando es `true`, `TRANSFER_OBJECT_STORAGE_BUCKET` es requerido en producción.     |
| `TRANSFER_INBOUND_MAX_FILE_SIZE_BYTES` | `5368709120`                  | Techo sobre el tamaño de archivo entrante anunciado por BACEN (por defecto 5 GiB). Los archivos más grandes se descartan antes de escribir byte alguno. |
| `AWS_REGION`                           | `us-east-1`                   | Región para las conexiones al almacén de objetos y M2M.                                                                                                 |
| `AWS_ACCESS_KEY_ID`                    | —                             | Clave de acceso para el almacén de objetos. Sensible. Déjala sin definir cuando un rol IAM adjunto aporte las credenciales.                             |
| `AWS_SECRET_ACCESS_KEY`                | —                             | Clave secreta para el almacén de objetos. Sensible. Déjala sin definir cuando un rol IAM adjunto aporte las credenciales.                               |

## Cifrado de sobre

Las credenciales de operador se protegen con cifrado de sobre AES-GCM. El material de clave maestra siempre es requerido: el proceso del manager aborta el arranque si falta o está malformado.

| Variable                       | Valor por defecto / Requerida | Descripción                                                                                                                                                                                                                                       |
| ------------------------------ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MASTER_KEY_PROVIDER`          | `envvar`                      | Origen de la clave de cifrado de sobre: `envvar` (clave leída de `MASTER_KEYS`) o `aws-kms` (clave envuelta por un KMS en la nube).                                                                                                               |
| `MASTER_KEY_VERSION`           | `v1` · **Requerida**          | Selecciona la versión de clave maestra actualmente activa.                                                                                                                                                                                        |
| `MASTER_KEYS`                  | **Requerida**                 | Pares `version:key` separados por comas. Sensible. Bajo `envvar` cada clave es una clave AES-256 de 32 bytes; bajo `aws-kms` cada valor es un blob envuelto. Obténla de tu gestor de secretos: un valor faltante o malformado aborta el arranque. |
| `MASTER_KEY_KMS_KEY_ID`        | **Requerida si `aws-kms`**    | Referencia a la clave del KMS en la nube que envuelve las claves maestras. El material de clave nunca entra en el proceso; solo se pasa la referencia.                                                                                            |
| `CREDENTIALS_RECOVERY_ON_BOOT` | `true`                        | Ejecuta el barrido de recuperación de credenciales del lado worker una vez al arrancar para resolver credenciales dejadas a mitad de rotación por un proceso anterior.                                                                            |

## Trust store

Cada tenant sube los certificados raíz X.509 en los que Lerian STA confía al establecer el TLS mutuo hacia BACEN. El módulo de trust store siempre está activado. Los cuerpos PEM de los certificados se persisten en el almacén de objetos, por lo que la conexión al bucket del trust store es requerida.

| Variable                          | Valor por defecto / Requerida | Descripción                                                                                                                                |
| --------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `TRUST_STORE_S3_BUCKET`           | **Requerida**                 | Bucket que contiene los PEM de certificados del trust store por tenant. El arranque falla sin él.                                          |
| `TRUST_STORE_S3_REGION`           | `us-east-1`                   | Región para el bucket del trust store.                                                                                                     |
| `TRUST_STORE_S3_ENDPOINT`         | —                             | Endpoint del almacén de objetos. Déjalo vacío para recaer en el endpoint por defecto de AWS S3.                                            |
| `TRUST_STORE_S3_PATH_STYLE`       | `false`                       | Usa el direccionamiento path-style. Requerido para MinIO o un almacén local; déjalo en `false` para AWS S3.                                |
| `TRUST_STORE_MAX_CERT_SIZE_BYTES` | `65536`                       | Tamaño máximo aceptado de un PEM de certificado subido.                                                                                    |
| `TRUST_STORE_EXPIRING_SOON_DAYS`  | `30`                          | Ventana, en días, a partir de la cual se reporta un certificado como próximo a expirar. Ajustable por el operador con recarga en caliente. |
| `TRUST_STORE_DEFAULT_PAGE_SIZE`   | `25`                          | Tamaño de página por defecto para la API de listado del trust store.                                                                       |
| `TRUST_STORE_MAX_PAGE_SIZE`       | `100`                         | Tamaño de página máximo para la API de listado del trust store.                                                                            |

<Note>
  Lerian STA ejecuta su pipeline de auditoría en un worker dedicado: un publicador de outbox, un consumidor de auditoría encadenado por hash, un gestor de particiones, una limpieza de outbox y un generador asíncrono de exportación de auditoría. Estos se ejecutan cuando la multi-tenancy y el broker están habilitados y se ajustan a través de las familias `AUDIT_PUBLISHER_*`, `AUDIT_CONSUMER_*`, `AUDIT_PARTITION_*`, `AUDIT_CLEANUP_*`, `AUDIT_EXPORT_GENERATOR_*` y `AUDIT_EXPORT_RATE_LIMIT_*`, cada una con valores por defecto funcionales.
</Note>
