Startup configuration reference
Startup settings choose what a Smeltr process runs, where it listens and where it keeps its
state. They come from smeltr.toml or the environment and apply on restart.
Before you start
Browsers and workers reach the configured leader listener (443 by default), or an HTTPS proxy (usually 443). Workers also need access to each source and destination's configured endpoints. Workers initiate heartbeats and Git configuration fetches; they need no inbound worker management connection from the leader. Ports and protocols for data systems come from their connector configuration, not a universal Smeltr port list.
Protect leader state and sealing keys, plus worker identity, credentials and trust files. See Backup and recovery. Use the startup reference for the version you received: settings can change between deliveries, and documentation for another version may not match your artifact.
Settings
leader. env SMELTR_ default 443
The port browsers and workers connect to, 1 to 65535. On Linux, grant the service CAP_NET_BIND_SERVICE to listen on a port below 1024.
84438080leader. env SMELTR_ default 127.0.0.1
The address the leader listens on. 0.0.0.0 listens on every IPv4 interface.
0.0.0.010.0.4.12::leader. env SMELTR_ default from bind and tls.enabled
The scheme, host and port browsers use. Several origins, separated by commas, must share one scheme.
https://smeltr.example.comhttps://smeltr.example.com,https://smeltr.internal:8443leader. env SMELTR_ default false
Whether this process runs the leader.
trueleader. env SMELTR_ default smeltr-leader-data
The directory holding leader.db, repos/ and tls/.
/var/lib/smeltr/leaderdata/leaderleader. env SMELTR_ default smeltr-leader-secrets/sealing.key
The key that seals stored secrets. Keep it out of routine data archives.
/etc/smeltr/sealing.keyleader. env SMELTR_ default 5
How many changes to a secret a rollback reaches back, counted on every branch: at least 1, or -1 for every version. An older version is gone unless a running deployment uses it.
10-1leader. env SMELTR_ default 5
How many uploads of a lookup file a rollback reaches back, counted on every branch: at least 1, or -1 for every version. An older one is gone unless a branch or running deployment uses it.
10-1leader. env SMELTR_ default true
Whether the leader serves HTTPS itself. Set false only behind a private proxy or for a local test.
falseleader. env SMELTR_ default none
More names for the leader's certificate: a TOML array, or a comma-separated environment value.
leader.internalleader.internal,10.0.4.12leader. env SMELTR_ default 3650d
How long a newly created CA is valid, 1 day to 100 years. An existing CA keeps its own.
365d8760hleader. env SMELTR_ default 80
The port the leader answers a certificate authority's HTTP-01 challenge on, while it orders a certificate. Authorities connect to 80; set another only when something forwards 80 to it.
8080leader. env SMELTR_ default false
true regenerates the built-in administrator's password on this start. Remove it before the next restart.
trueworker. env SMELTR_ default false
Whether this process runs a worker. With leader.enabled, one process runs both.
trueworker. env SMELTR_ default default
The worker group it joins. It must name a deployed group.
edgedmz-collectorsworker. env SMELTR_ default unset
The availability zone this worker runs in, for connectors that prefer their own zone.
eu-west-1aworker. env SMELTR_ default ::
The address every receiver on this worker listens on. :: is all IPv4 and IPv6 addresses.
10.0.0.5127.0.0.1worker. env SMELTR_ default unset
The leader's address. Required for a separate worker; a worker in the leader's process finds its leader itself.
https://smeltr.example.comhttps://10.0.4.12:8443worker. env SMELTR_ default unset
A CA file the worker trusts for the leader. An enrollment code sets up trust without one.
/etc/smeltr/leader-ca.pemworker. env SMELTR_ default smeltr-worker-data
The directory holding a separate worker's identity, credential, trusted certificates and configuration repository. A worker in the leader's process uses worker/ under leader.storage.data_dir.
/var/lib/smeltr/workerworker. env SMELTR_ default the available cores
How many threads process records. Other threads in the process are not counted.
416worker. env SMELTR_ default the container's memory limit
The memory the worker sizes its columnar budget and every unset bufferBytes to. A worker in the leader's process sizes to this only, never to its container's limit. Without either, each keeps its default.
4GiB16 GBworker. env SMELTR_ default 1500
Milliseconds between the worker's reports to the leader.
10005000worker. env SMELTR_ default unset
Seconds without a heartbeat reaching the leader after which the worker stops its deployment. Unset, it never does, so a leader outage never stops data flowing.
3003600worker. env SMELTR_ default unset
The code a worker enrolls with, and enrolls again with if the leader forgets it.
smeltrenroll-1-system-aaaa-bbbbworker. env SMELTR_ default false
Whether this worker opens a port serving /metrics for Prometheus to scrape.
trueworker. env SMELTR_ default 9464
The port the metrics endpoint listens on, at worker.listen_address.
9100worker. env SMELTR_ default unset
The certificate the metrics endpoint serves TLS under, as a PEM file, leaf first.
/etc/smeltr/metrics.pemworker. env SMELTR_ default unset
The unencrypted PEM private key of tls_cert.
/etc/smeltr/metrics-key.pemworker. env SMELTR_ default unset
Require scrapers to present a certificate chaining to these PEM roots. Needs TLS.
/etc/smeltr/scraper-ca.pemworker. env SMELTR_ default unset
Require scrapers to sign in with basic auth as this user, with password.
prometheusworker. env SMELTR_ default unset
The basic auth password for user. Without TLS it crosses the network in clear.
s3cretlog_ env SMELTR_ default info
The lowest severity logged. A top-level key.
error- Logs errors.
warn- Logs warnings and errors.
info- Logs info, warnings and errors.
debug- Logs everything but trace.
trace- Logs everything.
How it works
Set SMELTR_CONFIG_FILE to an absolute file path to choose the startup file.
Otherwise Smeltr looks for ./smeltr.toml in its working directory. Relative state paths
are also relative to that working directory. A non-empty environment variable overrides the file,
which overrides the default. Smeltr treats empty environment values as unset. Invalid values and unknown
TOML keys fail startup.
In smeltr.toml, each setting sits under the table its key names. The examples above
are environment values: in the file a string is quoted and a list is an array.
# A leader that browsers reach at
# https://smeltr.example.com.
log_level = "info"
[leader]
enabled = true
[leader.http]
port = 8443
bind = "0.0.0.0"
public_origin = "https://smeltr.example.com"
[leader.tls]
extra_san = ["leader.internal"]
[leader.storage]
data_dir = "/var/lib/smeltr/leader"
[leader.secrets]
key = "/etc/smeltr/sealing.key"
versions = 10
Every startup setting applies when the process restarts. An existing CA keeps its stored validity period. A worker uses enrollment codes only while it holds no credential its leader knows.
At least one of leader.enabled and worker.enabled must be true.
Other settings
Settings outside the startup file change elsewhere:
| Change | Where | Takes effect |
|---|---|---|
| Accounts | Admin → Accounts | Immediately |
| Session limits | Admin → System → Sessions | On the next session request |
| Pipelines and group configuration | A branch → Open for review → Approve & deploy | When workers adopt the deployment |
| Certificates | Admin → System → Certificates | On reload; restart if the UI reports failure |