---
title: Charmhub | Deploy Github runner image builder using Charmhub - The Open Operator
  Collection
description: Deploy the latest version of Github runner image builder on any cloud.
url: https://charmhub.io/github-runner-image-builder/configurations
---

# Github runner image builder

[Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

* [Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

Platform:

22.04

stable 155

```
juju deploy github-runner-image-builder
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [architecture](https://charmhub.io/github-runner-image-builder/configurations#architecture)
* [base-image](https://charmhub.io/github-runner-image-builder/configurations#base-image)
* [build-flavor](https://charmhub.io/github-runner-image-builder/configurations#build-flavor)
* [build-interval](https://charmhub.io/github-runner-image-builder/configurations#build-interval)
* [build-network](https://charmhub.io/github-runner-image-builder/configurations#build-network)
* [openstack-auth-url](https://charmhub.io/github-runner-image-builder/configurations#openstack-auth-url)
* [openstack-password](https://charmhub.io/github-runner-image-builder/configurations#openstack-password)
* [openstack-project-domain-name](https://charmhub.io/github-runner-image-builder/configurations#openstack-project-domain-name)
* [openstack-project-name](https://charmhub.io/github-runner-image-builder/configurations#openstack-project-name)
* [openstack-user-domain-name](https://charmhub.io/github-runner-image-builder/configurations#openstack-user-domain-name)
* [openstack-user-name](https://charmhub.io/github-runner-image-builder/configurations#openstack-user-name)
* [revision-history-limit](https://charmhub.io/github-runner-image-builder/configurations#revision-history-limit)
* [runner-version](https://charmhub.io/github-runner-image-builder/configurations#runner-version)
* [script-secret](https://charmhub.io/github-runner-image-builder/configurations#script-secret)
* [script-secret-id](https://charmhub.io/github-runner-image-builder/configurations#script-secret-id)
* [script-url](https://charmhub.io/github-runner-image-builder/configurations#script-url)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* architecture | string

  The image architecture to build for using external builder. Can be one of "amd64", "arm64", "s390x",
  "ppc64le" (alternatively "ppc64el").
  Support for "s390x" and "ppc64el" is considered experimental.
* base-image | string

  Default: noble

  The base ubuntu OS image to use for the runners. Codename (e.g. "noble") or version tag
  (e.g. 24.04) is supported as input. Currently only supports LTS versions of focal and
  higher, i.e. focal, jammy, noble, resolute.
* build-flavor | string

  The flavor to use when launching a builder VM machine. Will default to
  minimum matching flavor: 2 vCPU, 1G Memory, 20G Disk.
* build-interval | int

  Default: 6

  The interval in hours between each scheduled image builds.
* build-network | string

  The network to launch the builder VM machine on. Will default to whatever
  network with accessible subnet is available.
* openstack-auth-url | string

  The auth\_url section of the clouds.yaml contents, used to authenticate the OpenStack
  client (e.g. http://my-openstack-deployment/openstack-keystone). See https://docs.
  openstack.org/python-openstackclient/queens/configuration/index.html for more information.
* openstack-password | string

  The password section of the clouds.yaml contents, used to authenticate the OpenStack
  client (e.g. myverysecurepassword). See https://docs.openstack.org/python-openstackclient/
  queens/configuration/index.html for more information.
* openstack-project-domain-name | string

  The project\_domain\_name section of the clouds.yaml contents, used to find the OpenStack
  project-domain to use to store images. See https://docs.openstack.org/python-
  openstackclient/queens/configuration/index.html for more information.
* openstack-project-name | string

  The project\_name section of the clouds.yaml contents, used to find the OpenStack project to
  use to store images. See https://docs.openstack.org/python-openstackclient/queens/
  configuration/index.html for more information.
* openstack-user-domain-name | string

  The user\_domain\_name section of the clouds.yaml contents, used to find the OpenStack
  user domain to authenticate the client. See https://docs.openstack.org/python-
  openstackclient/queens/configuration/index.html for more information.
* openstack-user-name | string

  The username section of the clouds.yaml contents, used to find the OpenStack user to
  authenticate the client. See https://docs.openstack.org/python-openstackclient/queens/
  configuration/index.html for more information.
* revision-history-limit | int

  Default: 5

  Number of image revisions to keep before deletion.
* runner-version | string

  The GitHub runner version to use, e.g. 2.317.0. Empty default value will fetch the latest
  version by default. See https://github.com/actions/runner/releases.
* script-secret | string

  Environment variables to be loaded for execution of the script-url. Multiple secrets can be
  passed in, delimited by space. i.e. firstsecret=first secondsecret=second
* script-secret-id | secret

  Environment variables to be loaded for execution of the script-url. Juju user secret ID
  should be passed in in the format of secret:<secret-id>.
  See https://juju.is/docs/juju/manage-secrets.
* script-url | string

  URL to external script to run during cloud-init. Allows user-defined customization scripts
  to be run. This script is run as root, within the cloud-init user-data script.
