Skip to content

Releases: SPHTech-Platform/terraform-helm-actions-runner-controller

v2.0.6

Choose a tag to compare

@uchinda-sph uchinda-sph released this 08 Jun 06:43
45c140f

What's Changed

Full Changelog: v2.0.5...v2.0.6

v2.0.4

Choose a tag to compare

@uchinda-sph uchinda-sph released this 04 Jun 14:38
072207c

What's Changed

Full Changelog: v2.0.3...v2.0.4

v2.0.3

Choose a tag to compare

@uchinda-sph uchinda-sph released this 04 Jun 14:22
7dce7c7

What's Changed

Full Changelog: v2.0.2...v2.0.3

v2.0.2

Choose a tag to compare

@uchinda-sph uchinda-sph released this 04 Jun 08:34
40c2d13

What's Changed

This release introduces support for custom pod annotations on the Actions Runner Controller (ARC) runner scale set pods and resolves a bug where custom resource limits/requests were ignored when running in Docker-in-Docker (DinD) mode.


🚀 Key Improvements & Fixes

1. Karpenter Disruption Prevention

  • Added a new input variable runner_template_spec_metadata_annotations allowing custom annotations to be attached to the runner pod templates.
  • Defaulted the annotations to include:
    {
      "karpenter.sh/do-not-disrupt": "true"
    }
    This prevents Karpenter from disrupting and terminating active runner nodes while GitHub Actions jobs are in progress.

2. Resolved DinD Resource Limit Bug

  • Fixed a template validation bug in modules/gha-runner-scale-set/templates/values.yaml where the template.spec.containers block was completely omitted when containerMode.type = "dind".
  • Custom resource constraints (defined via runner_resources / action_runner_resource) are now correctly generated, rendered, and enforced by the operator. Manual intervention (kubectl edit) is no longer required to provision custom CPU/memory sizes.

📂 Changed Files

  • variables.tf — Added the new annotations variables.
  • main.tf — Forwarded runner annotations to the scale set submodule.
  • modules/gha-runner-scale-set/variables.tf — Declared annotations map.
  • modules/gha-runner-scale-set/main.tf — Integrated annotation variables into local value computations.
  • modules/gha-runner-scale-set/templates/values.yaml — Updated Helm payload formatting for DinD container configurations.

🛠️ Verification & Validation

  • All static analysis checks via Checkov have succeeded.
  • Terraform validations and lint rules passed successfully in CI/CD pipeline runs.

Full Changelog: v2.0.1...v2.0.2

v2.0.1

Choose a tag to compare

@uchinda-sph uchinda-sph released this 23 Dec 08:46
fde44fc

What's Changed

Feature: Configurable Runner Resource Requests and Limits

  • Added runner_resources variable
    • Users can now configure resource requests and limits (CPU and Memory) for self-hosted GitHub Actions runners.
    • The new variable supports setting both requests and limits for cpu and memory.
    • Example default:
      runner_resources = {
        requests = {
          cpu    = "1"
          memory = "2Gi"
        }
        limits = {
          cpu    = "1"
          memory = "2Gi"
        }
      }
  • Propagated configuration
    • The new variable is available at both the root and gha-runner-scale-set module levels.
    • Module logic updated to pass the resource settings into the generated pod spec.

Impact:
Existing deployments remain unaffected due to sensible defaults, but users wanting to fine-tune runner resource allocation can now do so easily.

Upgrade Guide:
No changes are needed unless you want to customize runner resources—just set the runner_resources variable in your configuration.

Full Changelog: v1.7.1...v2.0.1

v2.0.0

Choose a tag to compare

@uchinda-sph uchinda-sph released this 04 Dec 07:43
3950b36

Breaking Change Release Note

Upgrade Minimum Helm Provider Version to v3.0+

This release introduces a breaking change:
The required version of the hashicorp/helm Terraform provider has been updated from >= 2.6, < 3.0 to >= 3.0 across all modules (gha-runner-scale-set-controller, gha-runner-scale-set, and root).
Impact:

  • You must upgrade your Helm provider to version 3.0 or newer for all Terraform runs.
  • Existing configurations using Helm provider v2.x will no longer be compatible and may fail during initialization or apply.

Example Required Update in Configuration

terraform {
  required_providers {
    helm = {
      source  = "hashicorp/helm"
      version = ">= 3.0"
    }
  }
}

Other Change

  • Fixed the syntax for the kubernetes provider attribute in providers.tf by explicitly assigning as kubernetes = { ... }.

Migration Instructions

  • Update your local and CI/CD Terraform Helm provider to >= 3.0.
  • Review upstream dependency compatibility, ensuring you are not relying on deprecated provider features removed in Helm provider 3.x.

Action Required:
If you use this module, upgrade your Terraform Helm provider immediately to avoid deployment errors.
Refer to the Terraform Helm Provider v3.x documentation for guidance on migration and updated usage.


Full Changelog: v1.7.1...v2.0.0

v1.7.2

Choose a tag to compare

@gowripadmajas gowripadmajas released this 02 Dec 04:30
95bb13e

Full Changelog: v1.7.1...v1.7.2

v1.7.1

Choose a tag to compare

@uchinda-sph uchinda-sph released this 23 Sep 07:48
263b373

Release Notes

Changed

  • DOCKER_GROUP_GID Environment Variable:
    Updated the value of DOCKER_GROUP_GID from 123 to 1001 in the runner environment. This aligns the Docker group with standard GID practices and improves compatibility with Docker socket permissions.

  • Liveness Probe Tuning:
    Adjusted periodSeconds for the liveness probe from 10 to 5 seconds. This enables faster health checks and potentially quicker recovery from failures.

  • Docker Socket Mount Path:
    Changed the Docker socket mountPath from /run/docker to /var/run to follow standard Docker conventions and ensure correct mounting of the Docker socket inside the runner container.

Full Changelog: v1.7.0...v1.7.1

v1.7.0

Choose a tag to compare

@uchinda-sph uchinda-sph released this 23 Sep 02:12
afe6ddb

Release Notes

Features & Enhancements

  • Chart Version Upgrades

    • Upgraded gha-runner-scale-set-controller and gha-runner-scale-set Helm chart versions from 0.9.3 to 0.12.1.
    • Updated Terraform Helm provider version constraint to >= 2.6, < 3.0.
  • Runner and Controller Pod Customization

    • Introduced new variables for advanced scheduling and configuration:
      • controller_node_selector, controller_tolerations, controller_affinity, controller_topology_spread_constraints
      • runner_node_selector, runner_tolerations, runner_affinity, runner_topology_spread_constraints
      • runner_template_spec_metadata_labels, runner_template_spec_config_type, runner_container_mode_type
    • These enable fine-grained control over pod placement, affinity, tolerations, and topology spread for both controller and runner pods.
  • PodSpec Refactor

    • Refactored how runner PodSpecs are constructed for better flexibility and maintainability.
    • Deprecated listener_podspec_map and custom_podspec_map in favor of new variable-driven configuration.
  • Controller Enhancements

    • Added support for:
      • runner_max_concurrent_reconciles - Controls the maximum number of concurrent reconciles for the EphemeralRunner controller.
      • namespace_override - Allows overriding the release namespace for all resources in the controller chart.

Documentation

  • README Updates
    • Documentation updated to include:
      • New variables and configuration options.
      • Revised tables and descriptions reflecting the latest capabilities and version constraints.

Migration Notes:

  • If you rely on custom pod scheduling or topology, set runner_container_mode_type == "" and update your configuration as needed.
  • The Helm provider version is now pinned and not compatible with Helm 3.x and above.

Full Changelog: v1.6.2...v1.7.0

v1.6.0

Choose a tag to compare

@uchinda-sph uchinda-sph released this 01 Aug 07:44
3af50cc

What's Changed

Full Changelog: v1.4.2...v1.6.0