Management

Scaling runners

Runner-specific variables provide information on average load, the number of free pipeline slots, IP address, and the number of runners, either with or without a specific tag. You can use them in custom scripts to calculate workload and launch or shut down extra nodes in your infrastructure.

Success
Here you will find an example guide how to use runner variables in Terraform to scale Buddy on AWS: buddy.works/guides/runner-scaling

Runner variables

NameDescription
BUDDY_RUNNERSThe JSON with information about all installed runners
BUDDY_RUNNERS_CONCURRENT_SLOTSThe total number of pipeline slots across all runners
BUDDY_RUNNERS_COUNT_${TAG}The number of runners tagged with ${TAG}
BUDDY_RUNNERS_COUNT_NOT_TAGGEDThe number of untagged runners
BUDDY_RUNNERS_FREE_SLOTS_${TAG}The number of free pipeline slots on runners tagged with ${TAG}
BUDDY_RUNNERS_FREE_SLOTS_NOT_TAGGEDThe number of free pipeline slots on all untagged runners
BUDDY_RUNNERS_AVG_LOAD_${TAG}The average load from the last minute on all runners tagged with ${TAG}
BUDDY_RUNNERS_AVG_LOAD_NOT_TAGGEDThe average load from the last minute on all untagged runners
BUDDY_RUNNER_ADDRESS_${TAG}The list of IP addresses of runners tagged with ${TAG}
BUDDY_RUNNER_ADDRESS_NOT_TAGGEDThe list of IP addresses of untagged runners

Removing runners

To delete a runner, run buddy delete-runner or buddy uninstall on the machine where the runner is installed.

Supported flags

NameDescription
 --tokenOverwrites the default authorization token. If not provided, Buddy will use the most recently provided token.

Checking runner status

You can view the list of connected runners and their status in the Runners tab of the self-hosted admin panel. Possible statuses:

  • 🟢 Running
  • 🟠 Draining
  • 🔘 Drained
  • 🔴 Not running or wrong version

Runners tabRunners tab

Locking

You can lock a runner and change its name in the runner settings.

Hint
Locked runners cannot be assigned to new pipelines

Resources

The settings are also the place to adjust the resources consumed by the actions in the pipeline (vCPUs, RAM, and shared memory) and tag runners. If any pipeline is currently assigned to the runner, you will find it at the bottom of the page:

Runner settingsRunner settings

Offline runners

If a runner is offline or in a different version than the main instance, all pipeline executions end with an error. It is also impossible to browse the filesystems and view execution logs of the pipelines assigned to that runner.

You can remove an inactive runner from the runner list. When you remove a runner, pipelines assigned to that runner will be automatically assigned to a different runner on the next execution.

Last update:
Sep 24, 2024