Skip to content

volumeClaimTemplates shows out-of-sync in ArgoCD due to apiVersion and kind added by Kubernetes #1688

@ostracanin

Description

@ostracanin

What happened?

When deploying Redpanda via Helm chart 5.10.2 and managing it with ArgoCD 2.9.0, the application appears as constantly out-of-sync. The diff is caused by the volumeClaimTemplates field in the StatefulSet.

The Helm chart does not render apiVersion and kind under volumeClaimTemplates, but in the live manifest, Kubernetes automatically includes them:

- apiVersion: v1
  kind: PersistentVolumeClaim

This causes ArgoCD to continuously report an out-of-sync diff, even when nothing has changed.
Image

What did you expect to happen?

I expected the manifests to remain in sync, since the Helm chart output is valid and no functional changes were made. This makes GitOps workflows noisy and misleading.

How can we reproduce it (as minimally and precisely as possible)?. Please include values file.

1.	Deploy Redpanda using Helm chart 5.10.2 into an EKS 1.31 cluster.
2.	Use ArgoCD 2.9.0 to manage the deployment.
3.	Observe that ArgoCD reports the app as “OutOfSync” due to differences in volumeClaimTemplates.

Anything else we need to know?

This is likely due to Kubernetes adding apiVersion and kind automatically in the live object. A workaround is to configure ArgoCD to ignore the diff:

spec:
  ignoreDifferences:
    - group: apps
      kind: StatefulSet
      jsonPointers:
        - /spec/volumeClaimTemplates

Which are the affected charts?

Redpanda

Chart Version(s)

Redpanda Helm chart 5.10.2

Cloud provider

AWS (EKS 1.31)

JIRA Link: K8S-618

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions