Configuration
Yeager works with zero configuration. .yeager.toml is optional.
Run yg init to generate a commented config file with every option:
Full reference
[compute]
# VM size: small (2vCPU/4GB), medium (4vCPU/8GB), large (8vCPU/16GB), xlarge (16vCPU/32GB)
# Default: medium
size = "large"
# AWS region. Default: us-east-1
region = "us-west-2"
[setup]
# Extra apt packages to install on the VM at first boot.
packages = ["libpq-dev", "ffmpeg"]
# Extra commands to run on VM creation (after packages).
run = ["npx playwright install --with-deps"]
[sync]
# Files to sync that .gitignore would otherwise skip.
include = ["fixtures/large-dataset.bin"]
# Extra rsync exclude patterns (relative to project root).
exclude = ["data/", "*.log", ".env"]
[artifacts]
# Paths to sync back from VM to local after each run.
paths = ["coverage/", "dist/", "target/release/myapp"]
[lifecycle]
# How long before the VM stops when idle. Default: 10m
idle_stop = "30m"
# Terminate stopped VM after this long. Default: 7d
stopped_terminate = "14d"
Options
[compute]
| Key |
Type |
Default |
Description |
size |
string |
medium |
VM size: small, medium, large, xlarge |
region |
string |
us-east-1 |
AWS region for the VM |
[setup]
| Key |
Type |
Default |
Description |
packages |
list |
[] |
Extra apt packages installed at first boot |
run |
list |
[] |
Extra shell commands to run on VM creation |
Note
Adding packages or run commands triggers a re-run on the next yg invocation.
[sync]
| Key |
Type |
Default |
Description |
include |
list |
[] |
Files to sync that .gitignore would otherwise skip |
exclude |
list |
[] |
rsync exclude patterns (in addition to built-in excludes) |
Built-in excludes: .git/, node_modules/, __pycache__/, .venv/, target/ (Rust), and the .yeager.toml file itself.
[artifacts]
| Key |
Type |
Default |
Description |
paths |
list |
[] |
Paths to sync back from VM to local after each run |
[lifecycle]
| Key |
Type |
Default |
Description |
idle_stop |
duration |
10m |
Stop VM after this much idle time (e.g. 10m, 1h) |
stopped_terminate |
duration |
7d |
Terminate stopped VM after this long |
terminated_delete_ami |
duration |
30d |
Delete saved AMI snapshot after this long |
Environment variables
| Variable |
Description |
AWS_ACCESS_KEY_ID |
AWS access key (alternative to yg configure) |
AWS_SECRET_ACCESS_KEY |
AWS secret key |
AWS_PROFILE |
AWS profile to use |
AWS_REGION |
Override region |