Github runner image builder
Platform:
22.04
| Channel | Revision | Published | Runs on |
|---|---|---|---|
| latest/stable | 155 | 20 Mar 2026 | |
| latest/stable | 1 | 09 May 2024 | |
| latest/beta | 145 | 23 Feb 2026 | |
| latest/edge | 159 | 30 Apr 2026 | |
| latest/edge | 56 | 06 Feb 2025 |
juju deploy github-runner-image-builder
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
-
Deploy the GitHub runner charm in OpenStack mode.
-
Deploy the GitHub runner image builder charm. For information on OpenStack credentials, refer to the official OpenStack documentation.
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