MVP: CustomResourceDefinition (CRD), WebHooks, and associated controller to create a Deployment for Pods to run GitHub Actions self-hosted runners.
The goal of this project is to allow users to easily manage self-hosted GitHub Actions runners in Kubernetes.
(Clone repo)
kind create cluster -n ghrunner
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.0/cert-manager.yaml
(Cert Manger might take around 5 mins to start up on cluster)
kubectl apply -f dist/install.yaml
(This might take around 5 mins)
k get pods -n ghrunner-system
k apply -f config/samples/ghrunner_v1_ghrunner.yaml
(Clone repo)
kind create cluster -n ghrunner
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.0/cert-manager.yaml
make manifests
make install
(verify that crd has been installed with k get crds
-- should see ghrunners... in output)
make docker-build docker-push IMG=imagename
make deploy IMG=imagename
kubectl apply -f config/samples/ghrunner_v1_ghrunner.yaml
make
kubectl delete deployment ghrunner-controller-manager -n ghrunner-system
make docker-build docker-push IMG=imagename
make deploy IMG=imagename
make install
Generate PAT for Husky commit-msg
PAT requires read access to issues in the repo that you're using. Save PAT to a variable called GITHUB_TOKEN
and store this in a .env
file in the root directory of your repo.
Install packages from package.json
npm install