Skip to content

Configuration

Yeager works with zero configuration. .yeager.toml is optional.

Run yg init to generate a commented config file with every option:

yg init

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