Kotlin script to manage GitHub Action Runners on self-hosted machines.
This script helps to manage GitHub action runners for multiple GitHub repositories.
The script has been developed against Kotlin 1.7.22 and is using kotlin-shell and ktor.
You need to create a GitHub personal access token with repo permissions and set it as environment variable in your
system: export GITHUB_ACTIONS_RUNNER_REGISTRATION_TOKEN={token}
Clone the project on your desired runner machine and create a orchestrator_config.json
file following this example:
{
"config": {
"version": "2.298.2",
"folder": "github-action-runners",
"isArm": false
},
"repositories": [
{
"organization": "ORG_NAME",
"name": "REPOSITORY_NAME",
"enabled": true
}
]
}
Add the desired organization and repository names that you want to this machine to register to as GitHub runner.
Then just run the orchestrator: ./run-orchestrator.sh
It will create a new folder github-action-runners
where all repository runners could be found. Every runner will be configured as a service.
If you set the repository config enabled to false, the runner will be uninstalled and removed for that repository.
This project is work in progress. We are working on adding more functionality, guidelines, documentation and other improvements.
See the open issues for a list of proposed improvements and known issues.
All notable changes to this project will be documented in the changelog.
We use Semantic Versioning as a guideline for our versioning.
You want to help or share a proposal? You have a specific problem? Report a bug or request a feature.
You want to fix or change code? Read the Code of Conduct and contributing guide.
Copyright (c) 2021-2022 Wolf-Martell Montwé.
Please refer to the ISC License for more information.