Skip to content

Conversation

@Rems08
Copy link

@Rems08 Rems08 commented Sep 19, 2025

fix(argo-rollouts): remove spec.preserveUnknownFields from CRDs to avoid Argo CD OutOfSync

What

Remove the spec.preserveUnknownFields: false key from all Argo Rollouts CRD templates.

Why

  • In CRD apiextensions.k8s.io/v1, spec.preserveUnknownFields is deprecated/invalid and the behavior must be expressed with the OpenAPI extension x-kubernetes-preserve-unknown-fields inside the schema. Using the top-level field causes drift between desired and live objects. ([Kubernetes][1])
  • Argo CD 3.0+ explicitly calls out that CRDs containing spec.preserveUnknownFields: false will show as OutOfSync and recommends removing the field. ([Argo CD][2])
  • This aligns the chart with Helm/Argo CD guidance for managing CRDs (and avoids unnecessary diff noise during syncs). ([Argo Project][3])

Impact

  • No functional change to the CRDs themselves—the field is ignored by modern API servers—but it eliminates false OutOfSync reports for users deploying this chart with Argo CD. ([Argo CD][2])

How I validated

  • Reproduced OutOfSync on CRDs that included spec.preserveUnknownFields: false; removing the key restored a clean sync. (There’s also active community demand to drop the field.) ([GitHub][4])

Notes for Maintainers

I have not completed the checklist (version bump, docs, changelog, etc.). I’m short on time to go through the full contribution process, but this is a minimal, safe fix that prevents avoidable OutOfSync states for everyone using Argo CD. Please apply the change on your side and handle versioning/changelog as you see fit.

@yu-croco
Copy link
Collaborator

Hi, thank you for your PR. We will follow the upstream when upstream releases new version.

@yu-croco yu-croco added the awaiting-upstream Is waiting for a change upstream to be completed before it can be merged. label Sep 19, 2025
@yu-croco
Copy link
Collaborator

yu-croco commented Sep 19, 2025

Since this PR doesn't satisfy the items in PR template, let us turn it into draft. Please handle them.

@yu-croco yu-croco marked this pull request as draft September 19, 2025 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

argo-rollouts awaiting-upstream Is waiting for a change upstream to be completed before it can be merged. size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants