Inputs

The following input variables are supported:

extra_env_secrets

Description: A key-value mapping of extra secret environment variables for the runner pods

Type: map(string)

Default: {}

extra_pod_annotations

Description: Annotations to add to every runner pod

Type: map(string)

Default: {}

extra_pod_labels

Description: Labels to add to every runner pod

Type: map(string)

Default: {}

gha_runner_scale_set_helm_version

Description: The version of the actions-runner-controller-charts/gha-runner-scale-set helm chart to deploy

Type: string

Default: "0.9.3"

github_token

Description: The GitHub token that the runners will use to register with GitHub

Type: string

Default: n/a

panfactum_scheduler_enabled

Description: Whether to use the Panfactum pod scheduler with enhanced bin-packing

Type: bool

Default: true

pull_through_cache_enabled

Description: Whether to use the ECR pull through cache for the deployed images

Type: bool

Default: true

runners

Description: A mapping of runner names to their configuration values

Type:

map(object({
github_config_url = string # The url for the organization or repository that the runners will belong to
min_replicas = optional(number, 0)
max_replicas = optional(number, 25)
action_runner_image_registry = optional(string, "ghcr.io")
action_runner_image_repository = optional(string, "actions/actions-runner")
action_runner_image_tag = optional(string, "latest")
tmp_space_gb = optional(number, 1) # The number of GB of disk space to allocate to the runner
memory_mb = optional(number, 250) # The number of MB of memory to allocate to the runner
cpu_millicores = optional(number, 100) # The number of millicores of cpu to allocate to the runner
arm_nodes_enabled = optional(bool, true) # Whether to allow this runner to run on arm64 nodes
spot_nodes_enabled = optional(bool, true) # Whether to allow this runner to run on spot nodes
}))

Default: n/a

Outputs

No outputs.

Providers

The following providers are needed by this module: