github-runner-operators

module
v0.0.0-...-757464b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2026 License: Apache-2.0

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.

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 in the documentation for their roles and integrations.

Charmhub
Name Listing
garm https://charmhub.io/garm
garm-configurator https://charmhub.io/garm-configurator
github-runner-planner https://charmhub.io/github-runner-planner
github-runner-webhook-gateway https://charmhub.io/github-runner-webhook-gateway

Documentation

Our documentation is stored in the docs directory and can be viewed at https://canonical.com/juju/docs/github-runner-charms/. It is based on the Canonical Sphinx Stack 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 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:

make spelling
make linkcheck
make vale
make lint-md

Directories

Path Synopsis
cmd
planner command
waiting-p80-report command
Package main is a standalone CLI that extracts the daily P80 of GitHub runner job waiting time from the planner's PostgreSQL database into a CSV.
Package main is a standalone CLI that extracts the daily P80 of GitHub runner job waiting time from the planner's PostgreSQL database into a CSV.
webhook-gateway command
internal
database
Package database provides persistent storage for auth tokens, jobs, and flavors, and computes "pressure" for each flavor.
Package database provides persistent storage for auth tokens, jobs, and flavors, and computes "pressure" for each flavor.
github
Package github provides shared constants for GitHub webhook integration.
Package github provides shared constants for GitHub webhook integration.
redelivery
Package redelivery implements a daemon that periodically re-delivers failed GitHub webhook deliveries.
Package redelivery implements a daemon that periodically re-delivers failed GitHub webhook deliveries.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL