*.json5) is passed to NativeLink at startup.
File Format
Configuration files use JSON5 format, which supports:- Comments (
//and/* */) - Trailing commas
- Unquoted keys
- Environment variable expansion with
${VAR}or${VAR:-default}
Root Structure
A NativeLink configuration file has the following top-level fields:List of store configurations. Each store must have a unique
name field.List of scheduler configurations. Required for remote execution.
List of server configurations. At least one server is required.
List of worker configurations. Required for remote execution.
Global configuration options.
Environment Variables
NativeLink supports shell expansion in configuration values:Data Size Format
Size values accept human-readable formats:- Raw bytes:
1024 - Kilobytes:
10kbor10KiB - Megabytes:
100mbor100MiB - Gigabytes:
5gbor5GiB - Terabytes:
1tbor1TiB
Duration Format
Duration values are specified in seconds unless otherwise noted:- Seconds:
30or30s - Minutes:
5m(converted to seconds) - Hours:
1h(converted to seconds)
Store References
Stores are referenced by name throughout the configuration:Validation
NativeLink validates configuration at startup:- Store names must be unique
- Referenced stores must exist
- Referenced schedulers must exist
- At least one server must be configured
- Worker stores must be
fast_slowtype withfilesystemas fast store