This repository contains applications, Juju charms, Grafana dashboards and actions related to operating and using self-hosted GitHub Actions runners.
The Go application code (cmd/, internal/) follows the
community Go 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
This repository contains two charms — the planner-operator and the webhook-gateway-operator. See Charms in the documentation for their roles and integrations.
Our documentation is stored in the docs directory.
It is based on the Canonical starter pack
and hosted on Read the Docs.
In structuring, the documentation employs the Diátaxis approach.
You may open a pull request with your documentation changes, or you can file a bug to provide constructive feedback or suggestions.
To run the documentation locally before submitting your changes:
cd docs
make runGitHub runs automatic checks on the documentation to verify spelling, validate links and style guide compliance.
You can (and should) run the same checks locally:
make spelling
make linkcheck
make vale
make lint-md