From a45ad05dac09e457ce3ec4496ff28720088ad74c Mon Sep 17 00:00:00 2001 From: Danny Mccormick Date: Fri, 27 Mar 2026 15:00:04 -0400 Subject: [PATCH] Some terraform changes to make arc updates work --- .../gh-actions-self-hosted-runners/arc/README.md | 4 ++-- .github/gh-actions-self-hosted-runners/arc/gke.tf | 13 +++++++++++++ .github/gh-actions-self-hosted-runners/arc/helm.tf | 10 +++++----- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.github/gh-actions-self-hosted-runners/arc/README.md b/.github/gh-actions-self-hosted-runners/arc/README.md index 15e044857b41..99bb96d9b718 100644 --- a/.github/gh-actions-self-hosted-runners/arc/README.md +++ b/.github/gh-actions-self-hosted-runners/arc/README.md @@ -45,7 +45,7 @@ main_runner = { max_node_count = "5" # Main runner pool maximal node count min_replicas = "5" # Min number of runner PODs in the main pool . Do not confuse with Nodes max_replicas = "20" # Max number of runner PODs in the main pool . Do not confuse with Nodes - webhook_scaling # Enable webhook scaling for main pool + webhook_scaling = true # Enable webhook scaling for main pool } environment = "environment_name" # Name of the environment. Used as a prefix like dev- stag- anything- ingress_domain = "fqdn" # FQDN for webhook ingress @@ -66,7 +66,7 @@ machine_type = "e2-standard-2" # Macihne type for the pool min_node_count = 1 # Minimal node count max_node_count = 2 # Maximal node count min_replicas = 1 # Minimal replica count -min_replicas = 2 # Maximal replica count +max_replicas = 2 # Maximal replica count webhook_scaling = true # Enable webhook based scaling runner_image = "gcr.io/someimage:sometag" # Image to use labels = ["self-hosted", "testrunner"] # Label set for runner pool. Used in `on` diff --git a/.github/gh-actions-self-hosted-runners/arc/gke.tf b/.github/gh-actions-self-hosted-runners/arc/gke.tf index 45421ad38b47..c6c3c967838f 100644 --- a/.github/gh-actions-self-hosted-runners/arc/gke.tf +++ b/.github/gh-actions-self-hosted-runners/arc/gke.tf @@ -47,7 +47,15 @@ resource "google_container_node_pool" "main-actions-runner-pool" { ] service_account = data.google_service_account.service_account.email tags = ["actions-runner-pool"] + labels = { + "runner-pool" = var.main_runner.name + } } + lifecycle { + ignore_changes = [ + node_config[0].resource_labels, + ] + } } resource "google_container_node_pool" "additional_runner_pools" { @@ -88,7 +96,12 @@ resource "google_container_node_pool" "additional_runner_pools" { } } } + lifecycle { + ignore_changes = [ + node_config[0].resource_labels, + ] } +} resource "google_compute_global_address" "actions-runner-ip" { diff --git a/.github/gh-actions-self-hosted-runners/arc/helm.tf b/.github/gh-actions-self-hosted-runners/arc/helm.tf index aa5bd25cef78..da12eb442635 100644 --- a/.github/gh-actions-self-hosted-runners/arc/helm.tf +++ b/.github/gh-actions-self-hosted-runners/arc/helm.tf @@ -23,8 +23,8 @@ resource "helm_release" "cert-manager" { repository = "https://charts.jetstack.io" chart = "cert-manager" - atomic = "true" - timeout = 100 + atomic = true + timeout = 600 set = [ { @@ -38,12 +38,12 @@ resource "helm_release" "cert-manager" { resource "helm_release" "arc" { name = "arc" namespace = "arc" - create_namespace = "true" + create_namespace = true repository = "https://actions-runner-controller.github.io/actions-runner-controller" chart = "actions-runner-controller" - atomic = "true" - timeout = 120 + atomic = true + timeout = 600 set = [ for k, v in local.arc_values : {