runnerctl 0.3.0

Manage independent ephemeral GitHub Actions runner pools on one Docker host
schema_version = 1

[auth.team]
credential = "env:RUNNER_PAT"

# Alternative: configure with `runnerctl auth app` or use this profile.
# [auth.app.app]
# app_id = "123456"
# installation_id = 12345678
# private_key = "file:/absolute/path/runner-app.pem"

[manager]
poll_interval_seconds = 30
max_runners = 8
max_parallel_creates = 1 # Provisioning is serialized.
log_retention_days = 7

[[pools]]
name = "validate"
organization = "example-org"
auth = "team"
labels = ["validate"]
runner_group = "Default"
replicas = 2
image = "ghcr.io/clroot/runnerctl-runner:v0.3.0"
docker_socket = false
cpus = 2.0
memory = "2g"

[[pools]]
name = "build"
organization = "example-org"
auth = "team"
labels = ["build"]
runner_group = "Default"
replicas = 2
image = "ghcr.io/clroot/runnerctl-runner:v0.3.0"
docker_socket = true
cpus = 2.0
memory = "2g" # Applies to runners, not sibling job/service containers.

[[pools]]
name = "repository-test"
repository = "example-user/project" # Set repository OR organization.
auth = "team" # Needs repository Administration: write; see docs/authentication.md.
labels = ["test"]
runner_group = "Default"
replicas = 1
image = "ghcr.io/clroot/runnerctl-runner:v0.3.0"
docker_socket = false