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
Template previews
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 in the persisted registry. Create and manage those entries through the data-source API. The environment block below is an optional single-tenant bootstrap path; multi-tenant deployments create datasources per tenant through the API.DATASOURCE_{NAME}_CONFIG_NAME makes an environment seed block exist. Reporter scans 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. At Manager startup, a complete block seeds its configName only when no registry entry, including a soft-deleted one, already uses that name. 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 per-datasource seed block follows. Set the global
DATASOURCE_CRED_ENC_KEY separately as described above. We recommend using the same name for CONFIG_NAME and {NAME}, with the environment-variable segment uppercased (for example, ONBOARDING for CONFIG_NAME=onboarding). That keeps the schema key intuitive, because SCHEMAS is keyed by the CONFIG_NAME value while every other field is keyed by {NAME}:
{{ onboarding.accounts }}. Use the API to add or update a datasource. In single-tenant mode, an environment block only seeds a previously absent entry; it never overwrites an API-managed entry or restores a soft-deleted one.
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.

