This reference lists the environment variables used to configure Tracer, the real-time spending-control and transaction-risk service. You set these at deploy time, through Helm values, Docker Compose, or your orchestrator’s environment. Variables marked as required cause the server to fail on startup if not set.
For the configuration blocks that every Lerian product shares, see the BYOC configuration reference. Those blocks cover TLS posture, OpenTelemetry, Access Manager authentication, service discovery, and event streaming. This page focuses on what is distinctive to Tracer.
Ports and health endpoints
See the health and readiness reference for the probe contract.
Deployment and TLS
Application
Rule evaluation
Authentication and request handling
RI permission declaration
Database (PostgreSQL)
Tracer stores rules and usage counters in its own tracer database on the shared Midaz PostgreSQL primary. A dedicated migration-runner image applies the schema migration before the application starts. The service boots against an already-migrated schema and does not run migrations in-process.
Plan a maintenance window for the upgrade to Midaz v4.2.0. Its migration 000025 widens the asset column of the validation history table. PostgreSQL rewrites that table and rebuilds its indexes under an exclusive lock, so validation reads and writes wait until it ends. The duration grows with the number of stored validations.Each migration waits at most 5 seconds for the lock and fails with SQLSTATE 55P03 when traffic holds it. Run it again in a quieter window. A second run is safe.
Background workers
Reservations
Readiness and draining
Reservation gRPC seam
Server side of the seam the Midaz ledger calls to reserve spending limits.
Tracer always opens the reservation port, :4021 by default. Protect it with Access Manager authentication (PLUGIN_AUTH_ENABLED), an API key (API_KEY_ENABLED), mutual TLS (TRACER_TLS_MODE=mtls) or your service mesh. Tracer starts without any of these, and any workload that reaches the port can reserve and release limit capacity.
Shared configuration backbone
The following blocks are identical across Lerian products. The BYOC configuration reference documents them in full. They default off.
- Access Manager authentication:
PLUGIN_AUTH_ENABLED, PLUGIN_AUTH_ADDRESS. Enable in production. With service discovery on (see Service discovery below), Tracer resolves the Access Manager host through Consul. It falls back to PLUGIN_AUTH_ADDRESS if resolution fails.
- Service discovery:
SD_* (Consul). Off by default. When SD_ENABLED=true, Tracer registers itself as midaz-tracer (advertising the HTTP port from SERVER_ADDRESS, default 4020) and resolves Access Manager through Consul. If that resolution fails, it falls back to the static PLUGIN_AUTH_ADDRESS. Discovery requires SD_EXTERNAL_ADDRESS or SD_INTERNAL_ADDRESS. Tracer is the server on the reservation gRPC seam and does not advertise it.
- Event streaming:
STREAMING_*. Off by default.
- OpenTelemetry:
ENABLE_TELEMETRY, OTEL_*. Tracer also exposes a Prometheus /metrics endpoint.