/github-actions-runner-operator

K8S operator for scheduling github actions runner pods

Primary LanguageGoApache License 2.0Apache-2.0

GitHub go.mod Go version Codacy Badge Go Report Card build codecov GitHub release (latest SemVer)

github-actions-runner-operator

K8s operator for scheduling github actions runner pods. self-hosted-runners is a way to host your own runners and customize the environment used to run jobs in your GitHub Actions workflows.

This operator helps you scale and schedule runners on-demand in a declarative way.

Helm-chart based install

Helm3 chart is available from our existing helm repo.

helm repo add evryfs-oss https://evryfs.github.io/helm-charts/
kubectl create namespace github-actions-runner-operator
helm install github-actions-runner-operator evryfs-oss/github-actions-runner-operator --namespace github-actions-runner-operator

CRD

Declare a resource like in the example

Weaknesses

  • There is a theoretical possibility that a runner pod can be deleted while running a build, if it is able to pick a build in the time between listing the api and doing the scaling logic.

development

Operator is based on Operator SDK / Kube builder and written in Go.