RUN_MODE — the API manager, the report worker, or both. 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 — TLS posture, OpenTelemetry, Access Manager authentication, multi-tenancy, service discovery, and event streaming — see the BYOC configuration reference. This page focuses on what is distinctive to Reporter.
Run mode and ports
RUN_MODE decides which surfaces the process serves. Run the API and worker as one process (all) for small deployments, or split them into separate deployables (api and worker) to scale report generation independently. See the health and readiness reference for the probe contract.
Deployment and TLS
CORS and proxies
API pagination
Database (MongoDB)
Stores report metadata, templates, and run history.Message broker (RabbitMQ)
Carries the generate-report command queue between the API and the worker.Object storage (S3-compatible)
Where rendered reports are stored. Works with any S3-compatible endpoint.Cache (Redis / Valkey)
PDF rendering (worker)
Report datasources
Reports read from PostgreSQL and MongoDB datasources declared in the environment, one block per source. Replace{NAME} with your datasource identifier, and use the same identifier in every key of the block.
DATASOURCE_{NAME}_CONFIG_NAME is the variable that makes a block exist. Reporter discovers datasources by scanning the environment for keys that match DATASOURCE_*_CONFIG_NAME — the prefix counts as much as the suffix, so a key that only ends in _CONFIG_NAME declares nothing. Reporter reads the rest of a block only for a name it found that way. The value is the name your templates use to address the source.
Within a block, the variables marked required are the ones Reporter needs before it reads the block.
A complete block. We recommend that you set the
CONFIG_NAME value to the same string as the {NAME} segment, as every example on this page does — one name across the environment and your templates:
{{ onboarding.accounts }}. Datasources are declared only in the environment, so adding one is a configuration change and a restart.
Shared configuration backbone
The following blocks are identical across Lerian products and are documented in full in the BYOC configuration reference. They default off.- Access Manager authentication —
PLUGIN_AUTH_ENABLED,PLUGIN_AUTH_ADDRESS. Enable in production. - Multi-tenancy —
MULTI_TENANT_*, plusRABBITMQ_MULTI_TENANT_SYNC_INTERVALandRABBITMQ_MULTI_TENANT_DISCOVERY_TIMEOUT. Off by default. - Service discovery —
SD_*(Consul; Reporter also accepts the legacySD_ADVERTISE_*/CONSUL_ADDRaliases). Off by default. - Event streaming —
STREAMING_ENABLED,STREAMING_BROKERS,STREAMING_CLOUDEVENTS_SOURCE, plusRABBITMQ_REPORT_EVENTS_EXCHANGEfor the events exchange. Off by default. - OpenTelemetry —
ENABLE_TELEMETRY,OTEL_*,OTEL_INSECURE_EXPORTER. Telemetry is OTLP push.

