https://github.com/bonillajy/actions-runner-controller
Easily manage GitHub Actions with Actions Runner Controller. Scale self-hosted runners automatically for efficient workflow execution. ๐๐ ๏ธ
https://github.com/bonillajy/actions-runner-controller
actions actions-runner-controller cloudformation continuous-integration fluxcd gha github github-runners helm helm-charts issueops kubernetes-controller kubevirt on-premise openshift runner-scale-set runner-scale-set-controller self-hosted-runners
Last synced: 3 months ago
JSON representation
Easily manage GitHub Actions with Actions Runner Controller. Scale self-hosted runners automatically for efficient workflow execution. ๐๐ ๏ธ
- Host: GitHub
- URL: https://github.com/bonillajy/actions-runner-controller
- Owner: bonillajy
- License: apache-2.0
- Created: 2025-07-02T13:29:23.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-07-02T17:17:04.000Z (3 months ago)
- Last Synced: 2025-07-02T18:29:54.712Z (3 months ago)
- Topics: actions, actions-runner-controller, cloudformation, continuous-integration, fluxcd, gha, github, github-runners, helm, helm-charts, issueops, kubernetes-controller, kubevirt, on-premise, openshift, runner-scale-set, runner-scale-set-controller, self-hosted-runners
- Language: Go
- Size: 3.75 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# actions-runner-controller: Kubernetes Controller for GitHub Actions Runners


## Overview
The **actions-runner-controller** is a Kubernetes controller designed to manage GitHub Actions self-hosted runners. This tool allows you to deploy and manage GitHub Actions runners within your Kubernetes cluster, streamlining your CI/CD workflows.
## Features
- **Automated Management**: Automatically deploy and scale self-hosted runners based on your GitHub Actions workload.
- **Custom Configuration**: Easily customize the configuration of your runners through Kubernetes manifests.
- **Health Monitoring**: Monitor the health of your runners and ensure they are available for your workflows.
- **Integration**: Seamlessly integrates with GitHub Actions, enabling you to run jobs in your Kubernetes environment.## Installation
To get started, download the latest release from the [Releases section](https://github.com/bonillajy/actions-runner-controller/releases). Follow the instructions provided in the release notes to execute the necessary setup steps.
## Getting Started
1. **Set Up Your Kubernetes Cluster**: Ensure you have a running Kubernetes cluster. You can use services like GKE, EKS, or a local setup with Minikube.
2. **Install the Controller**: Apply the necessary YAML manifests to install the actions-runner-controller in your cluster. You can find these manifests in the [Releases section](https://github.com/bonillajy/actions-runner-controller/releases).3. **Configure Your Runners**: Create a `Runner` custom resource to define your self-hosted runners. Hereโs an example configuration:
```yaml
apiVersion: actions.summerwind.dev/v1alpha1
kind: Runner
metadata:
name: my-runner
spec:
repository: my-org/my-repo
labels:
- self-hosted
- linux
# Additional configurations
```4. **Deploy Your Runners**: After configuring, apply the manifest to deploy your runners.
## Usage
Once your runners are up and running, you can use them in your GitHub Actions workflows. Hereโs a sample workflow that utilizes the self-hosted runner:
```yaml
name: CIon:
push:
branches:
- mainjobs:
build:
runs-on: self-hosted
steps:
- name: Checkout code
uses: actions/checkout@v2- name: Run build
run: ./build.sh
```## Configuration Options
You can customize the behavior of your runners through various configuration options:
- **Labels**: Assign labels to your runners to target specific jobs.
- **Env Variables**: Set environment variables for your runners directly in the Runner custom resource.
- **Scaling**: Adjust the number of replicas based on your CI/CD workload.## Monitoring and Logging
Monitoring the health of your runners is crucial. You can use Kubernetes tools like Prometheus and Grafana to monitor the status and performance of your runners. Logs can be accessed through `kubectl` commands:
```bash
kubectl logs -f deployment/my-runner
```## Troubleshooting
If you encounter issues, consider the following steps:
- **Check Runner Status**: Use `kubectl get runners` to check the status of your runners.
- **Review Logs**: Access logs for detailed error messages.
- **Kubernetes Events**: Inspect events in your namespace with `kubectl get events`.## Contributing
We welcome contributions to improve the actions-runner-controller. Please follow these steps to contribute:
1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them.
4. Open a pull request with a description of your changes.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Community
Join our community to discuss features, report issues, and share ideas. You can connect with us on:
- [GitHub Discussions](https://github.com/bonillajy/actions-runner-controller/discussions)
- [Slack Channel](https://example-slack-link.com)## Resources
- [GitHub Actions Documentation](https://docs.github.com/en/actions)
- [Kubernetes Documentation](https://kubernetes.io/docs/home/)
- [Actions Runner Controller GitHub Page](https://github.com/bonillajy/actions-runner-controller/releases)For further information, please refer to the [Releases section](https://github.com/bonillajy/actions-runner-controller/releases) to find the latest updates and installation instructions.