Skip to content

v2.0.2

Choose a tag to compare

@uchinda-sph uchinda-sph released this 04 Jun 08:34
· 3 commits to main since this release
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