Skip to content

Commit e2fbc6e

Browse files
xnotoclaude
andcommitted
fix(arc): narrow AutoscalingRunnerSet ignoreDifferences
ignoring /spec/template wholesale also masks spec.template.spec changes like serviceAccountName, so the new arc-tf-runner SA never reached the runner pods and they kept booting under the chart's default arc-tf-gha-rs-no-permission SA. Restrict the ignore to the annotation paths the controller actually mutates so template spec changes sync. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent cb609dc commit e2fbc6e

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

workloads/arc/arc-tf-application.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ spec:
3636
- name: runner
3737
image: ghcr.io/makeitworkcloud/tfroot-runner:latest
3838
command: ["/home/runner/run.sh"]
39-
# The gha-runner-scale-set controller mutates AutoscalingRunnerSet at runtime
40-
# (hash annotations propagate down through spec.template); ignore those drifts
41-
# so selfHeal doesn't thrash on every reconcile. The dynamically-created
39+
# The gha-runner-scale-set controller propagates hash annotations into
40+
# AutoscalingRunnerSet metadata and spec.template.metadata; ignore only those
41+
# paths so selfHeal doesn't thrash, but spec.template.spec changes
42+
# (serviceAccountName, image, etc.) still sync. The dynamically-created
4243
# listener resources (AutoscalingListener + paired Role/RoleBinding) are
4344
# cosmetically reported as OutOfSync because the chart doesn't render them
4445
# and ArgoCD's label-based tracking still claims them — Health stays correct
@@ -48,7 +49,7 @@ spec:
4849
kind: AutoscalingRunnerSet
4950
jsonPointers:
5051
- /metadata/annotations
51-
- /spec/template
52+
- /spec/template/metadata/annotations
5253
syncPolicy:
5354
automated:
5455
prune: true

0 commit comments

Comments
 (0)