Environment Variables
Every RECORD_STORE_* variable the server reads. Environment values are applied
after the TOML file and override it.
Rules
- A variable that is set at all overrides the file, including when it is set to an
empty string. To fall back to the file value, unset the variable.
- Booleans accept exactly
true or false, lowercase. Anything else fails validation.
- Durations are whole seconds unless the name says otherwise.
- Values must be valid Unicode.
- A parse failure names the variable but never prints its value, so a bad secret does
not end up in a log.
Some settings are file-only. Those are listed at the end.
Server
| Variable |
Effect |
Default |
RECORD_STORE_S3_BIND |
S3 API listener |
0.0.0.0:7600 |
RECORD_STORE_API_BIND |
Management API listener |
0.0.0.0:7601 |
RECORD_STORE_SHUTDOWN_TIMEOUT_SECONDS |
Graceful drain ceiling, 1–300 |
30 |
Storage
| Variable |
Effect |
Default |
RECORD_STORE_STORAGE_DATA_DIRECTORY |
Root of all durable state |
./data |
RECORD_STORE_STORAGE_TEMPORARY_DIRECTORY |
Incomplete payload staging |
<data>/tmp |
RECORD_STORE_STORAGE_ENCRYPTION_ENABLED |
Encrypt new payloads at rest |
false |
Credentials and tokens
All of these are secrets. Inject them from a secret manager or the platform's secret
store, never from a checked-in file.
| Variable |
Effect |
RECORD_STORE_ROOT_ACCESS_KEY |
Bootstrap S3 access key — required |
RECORD_STORE_ROOT_SECRET_KEY |
Bootstrap S3 secret key — required |
RECORD_STORE_ROOT_S3_ENABLED |
Whether the root credential may use the S3 API (default true) |
RECORD_STORE_CREDENTIAL_MASTER_KEY |
Wraps stored credentials, webhook secrets, and object data keys |
RECORD_STORE_MANAGEMENT_SYSTEM_TOKEN |
Full management access |
RECORD_STORE_MANAGEMENT_STORAGE_TOKEN |
Storage administration |
RECORD_STORE_MANAGEMENT_AUDITOR_TOKEN |
Read-only, including the audit trail |
RECORD_STORE_METRICS_SCRAPE_TOKEN |
Accepted only by /metrics |
Length requirements are in the Configuration Reference.
Limits
| Variable |
Effect |
Default |
RECORD_STORE_MAX_CONCURRENT_OPERATIONS |
Simultaneous storage operations |
256 |
RECORD_STORE_MAX_HEADER_BYTES |
Aggregate header bytes accepted by the S3 adapter |
65536 |
Webhooks
| Variable |
Effect |
Default |
RECORD_STORE_WEBHOOK_ALLOW_HTTP |
Permit plain-HTTP targets |
false |
RECORD_STORE_WEBHOOK_ALLOW_PRIVATE_NETWORKS |
Permit loopback and private targets |
false |
RECORD_STORE_WEBHOOK_TIMEOUT_SECONDS |
Per-attempt timeout, 1–300 |
10 |
RECORD_STORE_WEBHOOK_MAXIMUM_ATTEMPTS |
Attempts before permanent failure, 1–32 |
6 |
RECORD_STORE_WEBHOOK_POLL_INTERVAL_SECONDS |
Queue poll interval, 1–3600 |
2 |
Lifecycle
| Variable |
Effect |
Default |
RECORD_STORE_LIFECYCLE_INTERVAL_SECONDS |
Seconds between passes, 1–86400 |
3600 |
RECORD_STORE_LIFECYCLE_BATCH_SIZE |
Entries scanned per rule per pass, 1–1000 |
100 |
Sharing
| Variable |
Effect |
Default |
RECORD_STORE_SHARING_SHARES_ENABLED |
Allow share links |
true |
RECORD_STORE_SHARING_EMBEDS_ENABLED |
Allow embed links |
true |
RECORD_STORE_SHARING_MAXIMUM_LIFETIME_DAYS |
Lifetime ceiling; 0 means none |
365 |
RECORD_STORE_SHARING_REQUIRE_EXPIRATION |
Every capability must expire |
false |
RECORD_STORE_SHARING_REQUIRE_PASSWORD |
Every share must have a password |
false |
RECORD_STORE_SHARING_MAXIMUM_ACCESS_COUNT |
Access-budget ceiling |
10000 |
RECORD_STORE_SHARING_PASSWORD_ATTEMPTS_PER_MINUTE |
Failed unlock attempts allowed |
10 |
RECORD_STORE_SHARING_TOKEN_PROBES_PER_MINUTE |
Unknown-token lookups allowed |
60 |
RECORD_STORE_SHARING_UNLOCK_LIFETIME_HOURS |
How long an unlock lasts, 1–168 |
12 |
RECORD_STORE_SHARING_PREVIEW_TEXT_LIMIT_BYTES |
Console text preview slice |
1048576 |
RECORD_STORE_SHARING_SHARE_BASE_URL |
Public console URL used to build share links |
unset |
RECORD_STORE_SHARING_EMBED_BASE_URL |
Public storage URL used to build embed links |
unset |
Logging
| Variable |
Effect |
Default |
RECORD_STORE_LOG |
tracing-subscriber filter expression |
record_store=info |
RECORD_STORE_LOG_JSON |
Emit newline-delimited JSON |
false |
Web console
The console is a separate process and reads its own variables.
| Variable |
Effect |
Default |
RECORD_STORE_API_URL |
Management API the console talks to |
http://127.0.0.1:7601 |
RECORD_STORE_CONSOLE_SECURE_COOKIES |
Mark session cookies Secure |
unset |
PORT |
Console listener port |
7602 |
Set RECORD_STORE_CONSOLE_SECURE_COOKIES whenever the console is served over HTTPS.
File-only settings
These have no environment variable. Use a TOML file.
| Setting |
Section |
maximum_custom_metadata_entries |
[limits] |
maximum_custom_metadata_bytes |
[limits] |