Charms¶
This product is composed of two primary charms. The sections below describe each charm, its role, and the integrations it expects in a typical deployment.
GitHub runner webhook gateway charm¶
Purpose
Receives GitHub webhooks and validates the
X-Hub-Signature-256HMAC signature.Forwards workflow job events and GitHub request metadata to an AMQP-compatible message broker.
Required integrations
AMQP message broker: the charm requires a
rabbitmqrelation to push webhook events.
Optional integrations
Tracing: the charm supports optional
tracingrelation to export OpenTelemetry traces.
Configuration
webhook-secret: required to validate GitHub webhook signatures.
GitHub runner planner charm¶
Purpose
Provides a REST API for job and flavor management.
Consumes workflow job events from the AMQP broker and persists state in PostgreSQL.
Issues and reconciles auth tokens and flavor definitions for runner integrations.
Required integrations
AMQP message broker: the charm requires a
rabbitmqrelation to consume webhook events.PostgreSQL: the charm requires a
postgresqlrelation to store job and flavor data.
Optional integrations
Tracing: the charm can export OpenTelemetry traces when connected to a tracing charm.
Provided integrations
Planner relation: the charm provides the
plannerrelation endpoint (interfacegithub_runner_planner_v0) so the GitHub runner charm can retrieve auth tokens and desired flavor state.
Configuration
admin-token: required to create or delete general auth tokens.