---
title: Charmhub | Deploy Garm Configurator using Charmhub - The Open Operator Collection
description: Deploy the latest version of Garm Configurator on any cloud.
url: https://charmhub.io/garm-configurator/configurations
---

# Garm Configurator

[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:

24.04

candidate d752c9b9

```
juju deploy garm-configurator --channel candidate
```

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

* [aproxy-exclude-addresses](https://charmhub.io/garm-configurator/configurations#aproxy-exclude-addresses)
* [aproxy-redirect-ports](https://charmhub.io/garm-configurator/configurations#aproxy-redirect-ports)
* [dockerhub-mirror](https://charmhub.io/garm-configurator/configurations#dockerhub-mirror)
* [enable-shell](https://charmhub.io/garm-configurator/configurations#enable-shell)
* [flavor](https://charmhub.io/garm-configurator/configurations#flavor)
* [github-app-id](https://charmhub.io/garm-configurator/configurations#github-app-id)
* [github-app-installation-id](https://charmhub.io/garm-configurator/configurations#github-app-installation-id)
* [github-app-private-key](https://charmhub.io/garm-configurator/configurations#github-app-private-key)
* [image](https://charmhub.io/garm-configurator/configurations#image)
* [image-visibility](https://charmhub.io/garm-configurator/configurations#image-visibility)
* [labels](https://charmhub.io/garm-configurator/configurations#labels)
* [max-runner](https://charmhub.io/garm-configurator/configurations#max-runner)
* [min-idle-runner](https://charmhub.io/garm-configurator/configurations#min-idle-runner)
* [name](https://charmhub.io/garm-configurator/configurations#name)
* [openstack-auth-url](https://charmhub.io/garm-configurator/configurations#openstack-auth-url)
* [openstack-network](https://charmhub.io/garm-configurator/configurations#openstack-network)
* [openstack-password](https://charmhub.io/garm-configurator/configurations#openstack-password)
* [openstack-project-domain-name](https://charmhub.io/garm-configurator/configurations#openstack-project-domain-name)
* [openstack-project-name](https://charmhub.io/garm-configurator/configurations#openstack-project-name)
* [openstack-region-name](https://charmhub.io/garm-configurator/configurations#openstack-region-name)
* [openstack-user-domain-name](https://charmhub.io/garm-configurator/configurations#openstack-user-domain-name)
* [openstack-username](https://charmhub.io/garm-configurator/configurations#openstack-username)
* [org](https://charmhub.io/garm-configurator/configurations#org)
* [os-arch](https://charmhub.io/garm-configurator/configurations#os-arch)
* [otel-collector-endpoint](https://charmhub.io/garm-configurator/configurations#otel-collector-endpoint)
* [pre-install-scripts](https://charmhub.io/garm-configurator/configurations#pre-install-scripts)
* [pre-job-script](https://charmhub.io/garm-configurator/configurations#pre-job-script)
* [repo](https://charmhub.io/garm-configurator/configurations#repo)
* [runner-group](https://charmhub.io/garm-configurator/configurations#runner-group)
* [runner-http-proxy](https://charmhub.io/garm-configurator/configurations#runner-http-proxy)

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

* 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.
