Configs for ARC
This repository contains configurations, Dockerfiles, and scripts for deploying custom Actions Runner Controller (ARC) runner sets on Kubernetes (Minikube).
.
├── .github/workflows # CI/CD for building runner images
├── images/ # Dockerfiles for custom runners
│ ├── base/ # Base runner with common deps
│ └── qtile/ # Runner specialized for Qtile development
├── runners/ # Helm values and runner-set configs
├── scripts/ # Deployment and utility scripts
└── Makefile # Unified interface for management
Build and push the custom runner images to GHCR:
make build
make pushDeploy the controller and a specific runner scale set. You will be prompted for your GitHub PAT if GITHUB_TOKEN is not set.
# Deploy base runner set
make deploy-base
# Deploy qtile runner set
make deploy-qtileFor automation, you can provide environment variables to skip prompts:
export GITHUB_TOKEN=your_pat_here
export RUNNER_NAMESPACE=my-runners
make deploy-baseTo uninstall a runner set and its associated resources:
make undeploy-baseIf a namespace gets stuck in a "Terminating" state:
make cleanup-baseThe deployment includes the kube-prometheus-stack. You can access the Prometheus dashboard using the provided systemd service or by running:
kubectl --namespace monitoring port-forward svc/prometheus-operated 9090:9090