Try It Out
In this example we will deploy a GitHub Actions runner scale set on a Kubernetes cluster using the Minimus GitHub Actions Runner Scale Set Helm chart. The scale set will register self-hosted runners that autoscale based on workflow demand.
Step 1: Start Cluster
If you have a cluster to work with, skip this step. Otherwise, start a Minikube cluster. Deployment instructions
Step 2: Create Secret
First, create a namespace:
kubectl create ns gha-runner-scale-set
Next, create a Kubernetes secret for the Minimus token so Helm will be able to pull images from the Minimus registry:
kubectl create secret docker-registry minimus-registry \
--docker-server=reg.mini.dev \
--docker-username=minimus \
--docker-password={token} \
--namespace=gha-runner-scale-set
Step 3: Deploy the Helm Chart
First, ensure the ARC controller is installed. Then deploy the runner scale set:
helm install my-gha-runner-scale-set oci://helm.mini.dev/gha-runner-scale-set \
-n gha-runner-scale-set \
--set githubConfigUrl="https://github.com/YOUR_ORG" \
--set githubConfigSecret.github_token="ghp_YOUR_TOKEN" \
--wait
If you want to override the chart's defaults, go to the Values tab, save a copy locally with your changes. Deploy the chart with your overrides using -f values.yaml:
helm install my-gha-runner-scale-set oci://helm.mini.dev/gha-runner-scale-set \
-f values.yaml \
-n gha-runner-scale-set \
--wait
Step 4: Verify GitHub Actions Runner Scale Set is Running
Confirm the AutoscalingRunnerSet was created:
kubectl get autoscalingrunnersets.actions.github.com -n gha-runner-scale-set
You should see output similar to:
NAME ENTERPRISE ORGANIZATION REPOSITORY GROUP MIN MAX DESIRED RUNNING FINISHED STATUS AGE
my-gha-runner-scale-set 2m
Step 5: Verify Runner Registration
Check that the runner scale set has registered with GitHub:
kubectl get autoscalingrunnersets.actions.github.com my-gha-runner-scale-set -n gha-runner-scale-set -o yaml
Verify the spec.githubConfigUrl matches your organization or repository URL. When workflows trigger, the controller will automatically scale runner pods up and down.
Step 6: Clean Up
Uninstall the chart and delete the namespace to remove all resources:
helm uninstall my-gha-runner-scale-set -n gha-runner-scale-set
kubectl delete namespace gha-runner-scale-set