This repository provides alternative Docker images for self-hosted GitHub Actions runners, serving as a substitute for the official images from actions/runner-images. These images are designed to work seamlessly with the Actions Runner Controller, including support for Runner Scale Sets as detailed in GitHub's documentation.
- Overview
- Features
- Prerequisites
- Getting Started
- Available Tags
- Customization
- Updating the Images
- Contributing
The images provided by this repository are pre-built and available at registry.fuga.io/public/actions-runner
. They serve as an alternative to the official GitHub Actions runner images and can be utilized in your Kubernetes clusters via the Actions Runner Controller, allowing you to manage self-hosted runners efficiently, including deploying Runner Scale Sets.
The following tools and features are added compared to the base image:
- curl
- helm
- Kubernetes Cluster: A running cluster with administrative access.
- Actions Runner Controller: Installed in your Kubernetes cluster. Installation Guide
- GitHub Access: Permissions to add self-hosted runners to your repository or organization.
Follow these steps to deploy your custom GitHub Actions runners using the pre-built images.
The pre-built runner images are hosted at registry.fuga.io/public/actions-runner
. You can use these images directly in your Kubernetes deployments without the need to build them yourself.
Available tags:
registry.fuga.io/public/actions-runner:latest
registry.fuga.io/public/actions-runner:2.319.1
Note: The tag 2.319.1
corresponds to the GitHub Actions Runner version 2.319.1
.
Follow the official installation guide to set up the Actions Runner Controller in your Kubernetes cluster.
Create a RunnerDeployment
or RunnerSet
YAML file to deploy the runners using the pre-built image.
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
name: fugacloud-runner-deployment
spec:
replicas: 2
template:
spec:
repository: your-username/your-repo
image: registry.fuga.io/public/actions-runner:latest
labels:
- custom
- self-hosted
- Replace
your-username/your-repo
with your GitHub repository. - You can specify a specific runner version by changing the image tag to
2.319.1
.
For deploying Runner Scale Sets, refer to the GitHub documentation.
Deploy the runners by applying the configuration file:
kubectl apply -f fugacloud-runner-deployment.yaml
The following tags are available for the pre-built images:
latest
: The latest stable version of the GitHub Actions runner.2.319.1
: Specific version tag corresponding to GitHub Actions runner version2.319.1
.
You can specify the desired tag in your deployment configuration:
spec:
template:
spec:
image: registry.fuga.io/public/actions-runner:2.319.1
You can customize the runner deployment configurations as needed.
Modify the RunnerDeployment
or RunnerSet
YAML to adjust environment variables, labels, or other settings.
env:
- name: RUNNER_GROUP
value: "Custom Group"
- name: RUNNER_LABELS
value: "custom,self-hosted"
The images at registry.fuga.io/public/actions-runner
are maintained and updated regularly. To use the latest images, update the image tag in your deployment configuration.
spec:
template:
spec:
image: registry.fuga.io/public/actions-runner:latest
Apply the updated configuration:
kubectl apply -f fugacloud-runner-deployment.yaml
We welcome contributions! Please fork the repository and submit a pull request with your changes. For significant changes, please open an issue first to discuss your ideas.
For questions or support, please open an issue in this repository.
- Official GitHub Runner Images: actions/runner-images
- Actions Runner Controller: actions/actions-runner-controller
- Deploying Runner Scale Sets: GitHub Documentation
By leveraging the pre-built images provided at registry.fuga.io/public/actions-runner
, you can efficiently deploy and manage your GitHub Actions runners without the need to build images yourself.