This PR adds a system-wide Lake configuration file and uses it to configure the remote cache services used by `lake cache`. The system configuration is written in TOML. The exact location of the file is system dependent and can be controlled via the `LAKE_CONFIG` environment variable, but is usually located at `~/.lake/config.toml`. As an example, one can configure a custom S3 cache service like so: **~/.lake/config.toml** ```toml cache.defaultService = "my-s3" cache.defaultUploadService = "my-s3" [[cache.service]] name = "my-s3" kind = "s3" artifactEndpoint = "https://my-s3.com/a0" revisionEndpoint = "https://my-s3.com/r0" ``` If no `cache.defaultService` is configured, Lake will use Reservoir for downloads by default. A Reservoir mirror (or Reservoir-like service) can be configured using `kind = "reservoir"` and setting an `apiEndpoint`. A list of configured cache service (one name per line) can be obtained via `lake cache services`. |
||
|---|---|---|
| .. | ||
| examples | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| build.sh | ||
| clean-build.sh | ||
| lakefile.toml | ||
| Makefile | ||
| time-build.sh | ||