https://github.com/canonical/github-runner-operators
A monorepo containing charms to operate Self-hosted GitHub Action runners
https://github.com/canonical/github-runner-operators
charm platform-engineering product-self-hosted-github-runner squad-apac
Last synced: 2 days ago
JSON representation
A monorepo containing charms to operate Self-hosted GitHub Action runners
- Host: GitHub
- URL: https://github.com/canonical/github-runner-operators
- Owner: canonical
- License: apache-2.0
- Created: 2025-09-16T08:33:40.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-05-23T07:26:57.000Z (16 days ago)
- Last Synced: 2026-05-23T09:28:26.575Z (16 days ago)
- Topics: charm, platform-engineering, product-self-hosted-github-runner, squad-apac
- Language: Python
- Homepage:
- Size: 1.17 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# GitHub runner operators
This repository contains applications, Juju charms, Grafana dashboards and actions related to operating and using
self-hosted GitHub Actions runners.
## Repository layout
The Go application code (`cmd/`, `internal/`) follows the
[community Go project layout](https://github.com/golang-standards/project-layout).
```
actions/
enable-log-forwarding/ # GitHub Action: enable log forwarding on runners
charms/
planner-operator/ # Juju charm: GitHub runner planner
cos_custom/
grafana_dashboards/ # Grafana dashboards for the planner charm
webhook-gateway-operator/ # Juju charm: GitHub webhook gateway
cmd/
planner/ # Application entry point: planner
webhook-gateway/ # Application entry point: webhook gateway
internal/ # Shared Go packages
docs/ # Documentation
runner_grafana_dashboards/ # Grafana dashboards for runner VM host metrics
```
## Charms
This repository contains two charms — the **planner-operator** and the
**webhook-gateway-operator**. See
[Charms](https://documentation.ubuntu.com/github-runner-operators/latest/reference/charms/)
in the documentation for their roles and integrations.
## Documentation
Our documentation is stored in the `docs` directory.
It is based on the Canonical starter pack
and hosted on [Read the Docs](https://documentation.ubuntu.com/github-runner-operators/latest/).
In structuring, the documentation employs the [Diátaxis](https://diataxis.fr/) approach.
You may open a pull request with your documentation changes, or you can
[file a bug](https://github.com/canonical/github-runner-operators/issues) to provide constructive feedback or suggestions.
To run the documentation locally before submitting your changes:
```bash
cd docs
make run
```
GitHub runs automatic checks on the documentation
to verify spelling, validate links and style guide compliance.
You can (and should) run the same checks locally:
```bash
make spelling
make linkcheck
make vale
make lint-md
```