Following the Action Runner Controller documentation. See the quickstart guide here.
See the Makefile for a quick way to build and push the image to the GitHub Container Registry.
You need a kubernetes cluster. You can use k3d or k3s.
curl -sfL https://get.k3s.io | sh - --cluster-initcurl -sfL https://get.k3s.io | sh -s - \
--bind-address=0.0.0.0 \
--flannel-iface=zt1234557 \
--node-ip=10.0.0.2 \
--cluster-initNAMESPACE="arc-systems"
helm install arc \
--namespace "${NAMESPACE}" \
--create-namespace \
oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controllerNAMESPACE="arc-systems"
helm upgrade --install arc \
--namespace "${NAMESPACE}" \
oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controllerObtain a Github App ID, Installation ID and Private Key from the GitHub Apps page.
kubectl create namespace arc-runners # if it doesn't exist
kubectl create secret generic pre-defined-secret \
--namespace=arc-runners \
--from-literal=github_app_id=123456 \
--from-literal=github_app_installation_id=654321 \
--from-literal=github_app_private_key='-----BEGIN RSA PRIVATE KEY-----********'INSTALLATION_NAME="arc-runner-set"
NAMESPACE="arc-runners"
helm install "${INSTALLATION_NAME}" \
--namespace "${NAMESPACE}" \
--create-namespace \
-f ./runner-scale-set-values.yaml \
oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-setTo change or upgrade the installation, you can use the following command:
INSTALLATION_NAME="arc-runner-set"
NAMESPACE="arc-runners"
helm upgrade --install "${INSTALLATION_NAME}" \
--namespace "${NAMESPACE}" \
--values ./runner-scale-set-values.yaml \
oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-setTip
You likely need to upgrade both the controller and the runner set to use the latest version of the runner.