If i use argocd to provision SessionHandling and don’t set the invert paramter on SessionHandling :: Airlock Microgateway API , i get a diff in argocd which cannot be reconciled.
You can omit this by either making the field required, or by setting the fieldmanager of this field.
We use serverSideApply for the argocd application.
This is a known issue with ArgoCD when using Server-Side Apply (SSA) in combination with CRD fields that have default values. When invert is not set in your manifest, the Kubernetes API server defaults it to false. ArgoCD then sees a perpetual diff between the desired state (field absent) and the live state (field present with its default), which cannot be reconciled.
The fix is to enable Server-Side Diff on your ArgoCD Application by adding the following annotation:
This causes ArgoCD to perform a dry-run server-side apply to compute the diff instead of comparing locally, which means it correctly accounts for API server defaults and field ownership. This is the approach documented by ArgoCD for exactly this kind of problem:
This is a limitation of ArgoCD that cannot be resolved on our end. The annotation above is the recommended solution and needs to be applied on the ArgoCD side.