An open API service indexing awesome lists of open source software.

https://github.com/canonical/github-runner-image-builder-operator

github-runner-image-builder-operator - charm repository.
https://github.com/canonical/github-runner-image-builder-operator

charm platform-engineering product-self-hosted-github-runner squad-apac

Last synced: 2 months ago
JSON representation

github-runner-image-builder-operator - charm repository.

Awesome Lists containing this project

README

          

# GitHub runner image builder operator

A Juju charm that provides the GitHub runner workload embedded snapshot image to the
[GitHub runner](https://charmhub.io/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](https://charmhub.io/github-runner-image-builder).

## Get started

Deploy GitHub runner image builder with GitHub runners.

You'll need a working [OpenStack installation](https://microstack.run/docs/single-node) with
flavors with a minimum of 2 CPU cores, 8GB RAM and 10GB disk.

### Set up

Follow [MicroStack's single-node](https://microstack.run/docs/single-node) starting guide to set
up MicroStack.

Follow the [tutorial on GitHub runner](https://charmhub.io/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= \
--config openstack-auth-url= \
--config openstack-password= \
--config openstack-project-domain-name= \
--config openstack-project-name= \
--config 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](https://charmhub.io/github-runner-image-builder/integrations).

## Repository structure

This repository contains the charm in the root directory and the `github-runner-image-builder`
application in the `app` directory. Refer to [Contributing](CONTRIBUTING.md) for more information.

## Learn more
* [Read more](https://charmhub.io/github-runner-image-builder)
* [Developer documentation](https://github.com/canonical/github-runner-image-builder-operator/blob/main/CONTRIBUTING.md)
* [Troubleshooting](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)

## Project and community
* [Issues](https://github.com/canonical/github-runner-image-builder-operator/issues)
* [Contributing](https://github.com/canonical/github-runner-image-builder-operator/blob/main/CONTRIBUTING.md)
* [Matrix](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)