Repository navigation
v2.0.2
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_annotationsallowing custom annotations to be attached to the runner pod templates. - Defaulted the annotations to include:
This prevents Karpenter from disrupting and terminating active runner nodes while GitHub Actions jobs are in progress.
{ "karpenter.sh/do-not-disrupt": "true" }
2. Resolved DinD Resource Limit Bug
- Fixed a template validation bug in
modules/gha-runner-scale-set/templates/values.yamlwhere thetemplate.spec.containersblock was completely omitted whencontainerMode.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