Skip to content

chendo/buildkite-agent-swarm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Buildkite Agent Swarm

BEES for short: BuildkitE agEnt Swarm.

License

An unofficial and opinionated Buildkite Helm chart. Use this at your own risk etc. Support is best-effort.

Goals

  • Turn-key deployment for docker-compose pipelines
  • Fast and efficient builds
    • Minimise unnecessary overhead from duplicate work (builds, fetching, booting dependencies)
    • Maximising use of compute
      • Spread work across nodes

See also

Features

  • Deploy multiple sets of agents with a single chart, with per-set:
    • queues
    • nodeSelectors
    • resources
    • volumeMounts
    • tags
  • Ability to deploy Docker in Docker as a DaemonSet to minimise overhead on building and moving images between agents
  • Spread agents evenly across nodes using pod anti-affinity
  • Spread jobs evenly across nodes by using agent priority by inverting pod indexes
  • Usability improvements:
    • Agents have node=<node> tags
    • Agent default name format: [prefix]<node>-<queue>-<pod suffix>

Roadmap / Ideas

  • Built-in registry pull-through cache
  • Docker image cleanup

Getting Started

More detailed instructions coming later.

  1. Use Helm to deploy to your cluster. See values.yaml and tweak accordingly

Thanks ❤️

Copyright

Copyright (c) 2020-2023 Buildkite Pty Ltd, chendo. See LICENSE for details.

About

An opinionated Buildkite Helm chart for fast and efficient docker-compose pipelines.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 40.1%
  • Mustache 31.1%
  • Makefile 23.8%
  • Dockerfile 5.0%