github-runner-image-builder

Github runner image builder

Channel Revision Published Runs on
latest/stable 106 26 Aug 2025
Ubuntu 22.04
latest/stable 1 09 May 2024
Ubuntu 22.04
latest/beta 121 Today
Ubuntu 22.04
latest/edge 122 Today
Ubuntu 22.04
latest/edge 56 06 Feb 2025
Ubuntu 22.04
juju deploy github-runner-image-builder
Show information

Platform:

Ubuntu
22.04

Deploy the GitHub runner image builder for the first time

This quick start guide will help you deploy the GitHub Runner Image Builder charm in OpenStack mode.

What you’ll do

  • Deploy the charm.
  • Integrate with GitHub runners.

Requirements

  • A working station, e.g., a laptop, with amd64 architecture.
  • Juju 3 installed and bootstrapped to a LXD controller. You can accomplish this process by using a Multipass VM as outlined in this guide: Set up your test environment
  • A running instance of OpenStack.

Steps

Shell into the Multipass VM

NOTE: If you’re working locally, you don’t need to do this step.

To be able to work inside the Multipass VM first you need to log in with the following command:

multipass shell my-juju-vm
OPENSTACK_AUTH_URL=<openstack-auth-url, e.g. http://my-openstack-deployment/openstack-keystone>
OPENSTACK_PASSWORD=<openstack project password>
OPENSTACK_PROJECT_DOMAIN_NAME=<openstack project domain name>
OPENSTACK_PROJECT_NAME=<openstack project name>
OPENSTACK_USER_DOMAIN_NAME=<openstack user domain name>
OPENSTACK_USERNAME=<openstack username>
juju deploy github-runner-image-builder \
--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-domain-name=$OPENSTACK_USER_DOMAIN_NAME \
--config openstack-user-name=$OPENSTACK_USERNAME
  • Verify that the image is being built via Juju logs:
juju debug-log --include=github-runner-image-builder/0
  • Verify that the image is successfully built.
openstack image list | grep noble-x64
  • Integrate with GitHub runners.
juju integrate github-runner-image-builder github-runner

Cleanup

  • Remove the github-runner-image-builder charm
juju remove-application github-runner-image-builder
  • If you used Multipass, to remove the Multipass instance you created for this tutorial, use the following command.
multipass delete --purge my-juju-vm
  • Remove the images built by the charm
openstack image list -f json | jq -r '.[] | select(.Name | contains("jammy-x64")) | .ID' | xargs -r openstack image delete