Skip to content

OutOfSync when deploying controller with ArgoCD: preserveUnknownFields diff on CRDs #4137

Open
@LiatSchulz

Description

@LiatSchulz

Checks

Controller Version

0.12.0

Deployment Method

ArgoCD

Checks

  • This isn't a question or user support case (For Q&A and community support, go to Discussions).
  • I've read the Changelog before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes

To Reproduce

1. Deploy the 2 ARC helm charts (v0.12.0) with ArgoCD (I'm doing so through Terraform)
2. Go to the controller appset in Argocd
3. ephemeralrunnersets, ephemeralrunners, autoscalingrunnersets, autoscalinglisteners are OutOfSync with the same diff showing: The desired manifest has `preserveUnknownFields: false` which the live manifest is missing.

from live manifest:

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
  creationTimestamp: '2025-06-15T12:33:55Z'
  generation: 3
  managedFields:
    - apiVersion: apiextensions.k8s.io/v1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            f:controller-gen.kubebuilder.io/version: {}
        f:spec:
          f:group: {}
          f:names:
            f:kind: {}
            f:listKind: {}
            f:plural: {}
            f:singular: {}
          f:preserveUnknownFields: {}
          f:scope: {}
          f:versions: {}
...

Describe the bug

I'm currently setting up an EKS cluster with ARC installed using Terraform, Helm and ArgoCD.
I had this issue: #3533 (comment) Then upgraded the argocd chart to 7.8.5 and it solved it.
Now when installing the controller and runner, ArgoCD shows OutOfSync on the github-runners-controller AppSet.
I made sure to delete both arc-systems and arc-runners namespaces and re-deployed them but the issue persists.
I am able to use the runners in Github regardless.

Image Image

Describe the expected behavior

ArgoCD AppSets are in Synced status

Additional Context

controller values.yml:

replicaCount: 1

image:
  repository: "ghcr.io/actions/gha-runner-scale-set-controller"
  pullPolicy: IfNotPresent
  tag: ""

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

env:


serviceAccount:
  create: true

  annotations: {}

  name: ""

podAnnotations: {}

podLabels: {}

podSecurityContext: {}
# fsGroup: 2000

securityContext: {}


resources: {}

nodeSelector: {}

tolerations: []

affinity: {}

topologySpreadConstraints: []

volumes: []
volumeMounts: []

priorityClassName: ""

flags:
  logLevel: "debug"
  logFormat: "text"
  runnerMaxConcurrentReconciles: 2

  updateStrategy: "immediate"
namespaceOverride: ""


runners values.yml:

## githubConfigUrl is the GitHub url for where you want to configure runners
githubConfigUrl: "<org-url>"

## githubConfigSecret is the k8s secret information to use when authenticating via the GitHub API.
githubConfigSecret: "<secret-name>"

maxRunners: 10

minRunners: 0

runnerGroup: "arc-runners"


## template is the PodSpec for each runner Pod
template:
  spec:
    containers:
      - name: runner
        image: ghcr.io/actions/actions-runner:latest
        command: ["/home/runner/run.sh"]
        resources:
          requests:
            cpu: "4"
            memory: "16Gi"
          limits:
            cpu: "4"
            memory: "16Gi" 

controllerServiceAccount:
  namespace: arc-systems
  name: github-runners-controller-gha-rs-controller

Controller Logs

https://gist.github.com/LiatSchulz/4d0f12553b92b33588da86e98011f946

Runner Pod Logs

No runner pods needed at the moment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggha-runner-scale-setRelated to the gha-runner-scale-set modeneeds triageRequires review from the maintainers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions