Skip to content

Collection of hands-off easy to configure github action runner clusters for a variety of project types

Notifications You must be signed in to change notification settings

themassiveone/runners

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Self-hosted GitHub actions runner cluster IAC templates

Collection of hands-off easy to configure github action runner clusters for a variety of project types.

Disclaimer

The standard approach to deploying many runners for github actions is using Kubernetes ARC. Unfortunately running docker containers from within CI in order to test some otherwise not available components is hasslefull within kubernetes. Both docker-in-docker and docker socket volume passthrough have inconveniences of their own.

I chose docker socket passthrough as its more reliable.

Thats why some examples require passing through docker engine from the host system, so siblings can be created from within a container.

volumes:
  - /usr/bin/docker:/usr/bin/docker
  - /var/run/docker.sock:/var/run/docker.sock

Example docker containers required in some workflows:

Structure

  • controlplane/: Contains the source code of the control plane used to created github runners automatically for you.
  • examples/: Contains directories for different project scenarios, each with its own docker-compose.yml, .env.example, runner.flake, and additional configuration files.
  • scripts/: Contains utility scripts for managing the setup and automation of runner tokens.

Getting Started

  1. Clone this repository onto the machine intented for running a cluster.
  2. Navigate to the desired project scenario in the examples/ directory.
  3. Copy .env.example to .env and fill in the required secrets.
  4. Run docker-compose up -d to start the cluster.

Examples

Unity CI/CD Pipeline

Configuration for a Unity CI/CD pipeline.

cd examples/unity-cd-pipeline
cp .env.example .env
# Fill in the .env file with the necessary secrets
docker-compose up -d

About

Collection of hands-off easy to configure github action runner clusters for a variety of project types

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published