Skip to content

Latest commit

 

History

History
74 lines (56 loc) · 3.41 KB

File metadata and controls

74 lines (56 loc) · 3.41 KB

GitHub runner image builder operator

A Juju charm that provides the GitHub runner workload embedded snapshot image to the GitHub runner charm. This charm is deployed as a VM and works on top of OpenStack infrastructure.

Like any Juju charm, this charm supports one-line deployment, configuration, integration, scaling, and more. For Charmed GitHub runner image builder, this includes support for configuring:

  • Multi-arch
  • Multi Ubuntu bases
  • Juju/MicroK8s snap channels
  • External scripts

For information about how to deploy, integrate, and manage this charm, see the Official CharmHub Documentation.

Get started

Deploy GitHub runner image builder with GitHub runners.

You'll need a working OpenStack installation with flavors with a minimum of 2 CPU cores, 8GB RAM and 10GB disk.

Set up

Follow MicroStack's single-node starting guide to set up MicroStack.

Follow the tutorial on GitHub runner to deploy the GitHub runner.

Deploy

Deploy the charm.

juju deploy github-runner-image-builder \
--config experimental-external-build=True \
--config experimental-external-build-network=<OPENSTACK-NETWORK-NAME> \
--config openstack-auth-url=<OPENSTACK-AUTH-URL> \
--config openstack-password=<OPENSTACK-PASSWORD> \
--config openstack-project-domain-name=<OPENSTACK-PROJECT-DOMAIN-NAME> \
--config openstack-project-name=<OPENSTACK-PROJECT-NAME> \
--config openstack-user-name=<OPENSTACK-USER-NAME>

juju integrate github-runner-image-builder github-runner

Basic operations

After having deployed and integrated the charm with the GitHub runner charm, the image should start to build and be provided to the GitHub runner automatically. The whole process takes around 10 minutes.

Integrations

  • image: The image relation provides the OpenStack image ID to the GitHub runners.
  • cos-agent: The COS agent subordinate charm provides observability using the Canonical Observability Stack (COS).

For a full list of integrations, please refer to the Charmhub documentation.

Learn more

Project and community