- built-in Rust defaults;
- the file passed through
--config; MS_environment variables.
src/config/. The repository’s maintained production-oriented sample
is conf/config.toml; review the file when upgrading because newly added settings receive code defaults
when absent.
Secret-only values
Keep these outside TOML when possible:
Production Mole Agent providers should normally be created in Mole Agent → Agent
settings. Provider keys are encrypted, write-only, and resolved from PostgreSQL before the
environment fallback.
Node roles
standalone, router, intake, querier, compactor, and alert_manager.
standalone composes the complete service. An empty id is generated at startup. Shutdown waits
up to drain_timeout_secs for pending intake data to flush.
Network listeners
HTTP and TLS
external_url to the public origin when a reverse proxy changes the host or scheme. Enabling
TLS starts the ACME HTTP-01 listener and rustls SNI endpoint.
Internal gRPC, Flight SQL, and OTLP
5082 to untrusted networks. External OTLP and Flight SQL require bearer
authentication; terminate TLS before public exposure.
Metadata and object storage
Built-in development defaults use SQLite and the local filesystem. The repository sample uses PostgreSQL for metadata.local, s3, azure, and gcs. Credential precedence is environment,
credentials file, then inline TOML. Use shared object storage and PostgreSQL for multi-node
deployments.
Intake, WAL, query, and retention
concurrency = 0 uses the available CPUs. A query estimate above
auto_async_threshold_rows becomes an asynchronous search job; set the threshold to 0 to disable
automatic conversion. Per-stream retention overrides the compactor default.
Cluster and rate limits
advertise_addr to an address reachable by every peer. A rate of 0 disables that limit.
Remote cluster definitions and organization mappings are managed in the database, not this block.
Alerts and email
host is non-empty. Slack, webhook channels, notification templates,
schedules, and escalation policies are organization resources managed through the UI or API.
Authentication and licenses
[auth].jwt_secret setting is ignored and
should be removed.
License content is never embedded in TOML. The two license switches only control whether
MS_LICENSE_FILE may seed an empty database or recover from a broken active version.
Self-observability and profiling
Process logs use[telemetry]. Tail sampling, protected _sys intake, external trace export, and
the pprof listener use these nested sections:
conf/config.toml. See Self-observability before changing
these settings.
Search jobs, cache, and cold metadata
The following sections tune query admission and operational storage:[search.admission]sets node and cluster concurrency by workgroup.[search] max_result_rowsguards unbounded non-aggregate results.[search.stream_agg_cache]caches closed PromQL windows;capacity = 0disables the cache.[search_jobs]controls worker count, idle polling, and cleanup.[cache.*]sizes FileMeta, Parquet metadata, query-result, Tantivy, footer, and cold-dump caches.[cache.disk_cache] max_size_gb = 0disables the local Parquet cache.[storage.file_meta_dump]moves old FileMeta partitions to object storage.
Functions, reports, and Agent
js-runtime and has no separate runtime
configuration switch. llm_eval_enabled permits per-event model evaluation in pipelines and can
increase intake latency and cost.
PDF and PNG reports require an enabled renderer and reachable Web base_url.
[agent].enabled is a local development unlock. Production uses a signed agent
entitlement plus IAM permissions. Model providers, prompts, tools, MCP servers, and approval policy
are stored in PostgreSQL and managed in the product.