Skip to content

Commit f624a99

Browse files
committed
chore(arc-tf): drop ineffective listener-resource workarounds
Revert PR #26's additions: ServerSideApply=true and the Role/RoleBinding ignoreDifferences entries. Neither addressed the OutOfSync state — that turns out to be ArgoCD's label-based tracking claiming controller-created listener resources that the chart never renders, which is structurally not solvable via field-level ignore patterns. Comment notes the condition is cosmetic; Health stays correct. Also drop the AutoscalingListener ignoreDifferences entry since the chart doesn't render that kind, so there's no desired state to drift from. Keep only the AutoscalingRunnerSet entry, which IS chart-rendered and does see controller-driven annotation churn.
1 parent c46b6f1 commit f624a99

1 file changed

Lines changed: 7 additions & 19 deletions

File tree

workloads/arc/arc-tf-application.yaml

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,34 +35,22 @@ spec:
3535
- name: runner
3636
image: ghcr.io/makeitworkcloud/tfroot-runner:latest
3737
command: ["/home/runner/run.sh"]
38-
# The gha-runner-scale-set controller creates the listener AutoscalingListener
39-
# and a paired Role/RoleBinding at runtime (named `<release>-<hash>-listener`),
40-
# then continually rotates hash annotations on them. None of these are in the
41-
# chart's rendered output. Ignore field-level drift, and rely on ServerSideApply
42-
# so ArgoCD doesn't try to manage fields the controller owns.
38+
# The gha-runner-scale-set controller mutates AutoscalingRunnerSet at runtime
39+
# (hash annotations propagate down through spec.template); ignore those drifts
40+
# so selfHeal doesn't thrash on every reconcile. The dynamically-created
41+
# listener resources (AutoscalingListener + paired Role/RoleBinding) are
42+
# cosmetically reported as OutOfSync because the chart doesn't render them
43+
# and ArgoCD's label-based tracking still claims them — Health stays correct
44+
# and Synced won't follow without a cluster-wide tracking-method change.
4345
ignoreDifferences:
44-
- group: actions.github.com
45-
kind: AutoscalingListener
46-
jsonPointers:
47-
- /metadata/annotations
48-
- /spec
4946
- group: actions.github.com
5047
kind: AutoscalingRunnerSet
5148
jsonPointers:
5249
- /metadata/annotations
5350
- /spec/template
54-
- group: rbac.authorization.k8s.io
55-
kind: Role
56-
jsonPointers:
57-
- /metadata/annotations
58-
- group: rbac.authorization.k8s.io
59-
kind: RoleBinding
60-
jsonPointers:
61-
- /metadata/annotations
6251
syncPolicy:
6352
automated:
6453
prune: true
6554
selfHeal: true
6655
syncOptions:
67-
- ServerSideApply=true
6856
- RespectIgnoreDifferences=true

0 commit comments

Comments
 (0)