Skip to main content
Lerian SPB is Lerian’s native messaging integration for the STR (Sistema de Transferência de Reservas), BACEN’s real-time gross settlement system, reached over the RSFN. Set these variables at deploy time. A change takes effect only after you restart the service. Most variables are specific to this rail. For the knobs that behave the same way across every Lerian Go service (deployment posture, datastores, multi-tenancy, and telemetry), see BYOC configuration essentials. In the tables below, Required marks a variable you must set, globally or under the condition named. A qualifier such as In production or If enabled narrows when the requirement applies. — means no default.
ENV_NAME arms the stricter security gates. Set it to production or staging and the service enforces TLS on Redis and the STR connection, and verify-full on PostgreSQL. It also requires hardware-backed custody for the key that decrypts inbound messages, and rejects development-only surfaces. ENV_NAME has no default. Set it explicitly. The service refuses to start when ENV_NAME is unset or holds an unrecognized value.

Runtime and server

Authentication

Lerian SPB delegates authorization, including the systemplane admin API, to Access Manager. See BYOC configuration essentials.

PostgreSQL

PostgreSQL replica

Optional read replica. All fields fall back to the primary when unset.

Redis

STR connectivity (RSFN)

Lerian SPB exchanges STR messages with BACEN over the RSFN using an IBM MQ transport. These variables define the participant identity, the queue-manager connection, and the queues. The three queue names derive from STR_ISPB. Production and staging refuse a queue name that differs from the derived name.

Circuit breaker

Guards the STR transport against a failing queue manager.

Message signing and certificates

Lerian SPB signs every outbound STR message with the certificate at CERT_PATH and its key at KEY_PATH. The signing identity’s metadata file under CERT_BASE_PATH can move that key to a PKCS#11 or KMIP HSM. SPB_SIGNER_KIND chooses the custody backend of a different key: the key that decrypts inbound messages. Production and staging reject the file backend for that key and require pkcs11 or kmip.

PKCS#11 custody

Required when SPB_SIGNER_KIND=pkcs11.

KMIP custody

Required when SPB_SIGNER_KIND=kmip (KMIP-over-HTTP to a network HSM).

Events and outbox

Lerian SPB records every message before dispatch and publishes lifecycle events through a transactional outbox to the streaming broker. Streaming has no disabled mode. Configure the shared STREAMING_* settings as described in Streaming and outbox.

Approval (maker-checker)

Optional value-band approval that gates STR emission. Off by default. An empty band table lets every emission proceed single-step.

Rate limiting and idempotency

Systemplane and runtime configuration

Lerian SPB mounts the systemplane runtime-configuration admin API at /v1/system on the main port. PostgreSQL backs this plane, so operators can read and change hot-reloadable settings without a restart. See Systemplane for the API, namespaces, and permissions. The CORS origins, the four rate-limit values, the three outbox dispatch values, and the approval bands are hot-reloadable. For these settings, the variable sets the initial value, and a value stored in Systemplane takes precedence.

Encryption and secrets

Never commit or log the values of any variable marked Sensitive (passwords, tokens, PINs, and AES keys). Inject them at deploy time through your secret manager.

Observability

Development-only

Keep these variables unset outside local development. They expand the attack surface, and production or staging rejects or forces them off.

Health and readiness

Lerian SPB exposes GET /health (liveness) and GET /readyz (readiness) on the main HTTP port. See Health and readiness for the probe contract.