Garm Configurator

Platform:

Ubuntu
24.04
Channel Revision Published Runs on
latest/candidate 150 04 Oct 2026
Ubuntu 24.04
latest/edge 157 Today
Ubuntu 24.04
juju deploy garm-configurator --channel candidate

Learn about configurations >

  • aproxy-exclude-addresses | string

    Optional comma-separated IPv4 addresses, CIDRs, or ranges to exclude from aproxy forwarding.

  • aproxy-redirect-ports | string

    Optional comma-separated ports or port ranges (e.g. 80,443,8000-9000) to forward to aproxy.

  • dockerhub-mirror | string

    Optional Docker registry mirror URL for runners. Must be a valid http(s) address.

  • enable-shell | boolean

    Default: True

    Enable the GARM remote shell on the scaleset, letting an administrator open an interactive session on a runner through GARM. The session rides the GARM agent's websocket, so the garm charm needs an ingress for the agent to dial back to, and that ingress must terminate TLS: the agent silently disables its shell whenever the agent URL is cleartext, rather than expose a shell in the clear.

  • flavor | string

    The resource flavor to use for runners in the scaleset.

  • github-app-id | int

    GitHub App ID (numeric).

  • github-app-installation-id | int

    GitHub App installation ID.

  • github-app-private-key | secret

    Juju secret containing the GitHub App private key (PEM format). The secret content must have a "value" key with the private key string.

  • image | string

    Stable OpenStack image name or image ID to use for runners. An image name must uniquely identify one image in the OpenStack project. When unset, the image is read from the image relation for backwards compatibility. If neither source provides an image, GARM removes this configurator's scale set and its runners.

  • image-visibility | string

    Optional Glance visibility used when the OpenStack provider looks up an image by name: public, private, shared, community, or all. When unset, the provider searches public images only, so a private image needs "private". It has no effect when the image is an ID.

  • labels | string

    Comma-separated list of labels to add to runners.

  • max-runner | int

    Default: 1

    Maximum number of runners in the scaleset. Must be greater than 0.

  • min-idle-runner | int

    Minimum number of idle runners in the scaleset.

  • name | string

    The name of the scaleset.

  • openstack-auth-url | string

    OpenStack Keystone authentication URL.

  • openstack-network | string

    OpenStack network name or ID to use for instances.

  • openstack-password | secret

    Juju secret containing the OpenStack password for authentication. The secret content must have a "value" key with the password string.

  • openstack-project-domain-name | string

    OpenStack project domain name.

  • openstack-project-name | string

    OpenStack project (tenant) name.

  • openstack-region-name | string

    OpenStack region name.

  • openstack-user-domain-name | string

    OpenStack user domain name.

  • openstack-username | string

    OpenStack username for authentication.

  • org | string

    Organization to register runners to. Mutually exclusive with repo.

  • os-arch | string

    The CPU architecture for runners in the scaleset.

  • otel-collector-endpoint | string

    Optional OTEL exporter address for the otel-collector to connect to. Must be a valid http(s) URL.

  • pre-install-scripts | string

    A Python dict-like string containing key-value pairs of script name to bash script to be run prior to runner installation.

  • pre-job-script | string

    Optional bash script appended to the end of the runner pre-job script. If the script exits with a non-zero code, the job fails and the workflow steps do not run.

  • repo | string

    Repository to register runners to. Mutually exclusive with org.

  • runner-group | string

    Default: Default

    Runner group for org registration. Ignored when repo is set.

  • runner-http-proxy | string

    Optional HTTP proxy that aproxy forwards to. Must be a valid http(s) URL.