helm-secrets icon indicating copy to clipboard operation
helm-secrets copied to clipboard

ArgoCD detecting drift when applying SOPS encrypted secret

Open GlacierWalrus opened this issue 6 months ago • 1 comments

Current Behavior

When I apply a SOPS encrypted secret using ArgoCD, ArgoCD keeps thinking the resources is out of sync, and if auto-sync is enabled it keeps applying the same resource in a loop.

The secret is correctly applied, unencrypted, to the cluster, but ArgoCD is seemingly not decrypting the source when calculating the drift.

Screenshot 2024-08-07 at 11 43 19

Expected Behavior

When I apply a SOPS encrypted secret using ArgoCD, I expect it to apply to the cluster unencrypted and stay "synced", when deciding if a resource needs updating, ArgoCD should decrypt the secret.

Steps To Reproduce

1. ArgoCD v1.11.7, v1.12.0
2. Apply a SOPS encrypted secret (in my setup I was using a GCP key with a workload identity to access)
3. Sync the manifest, verify the secret is applied using kubectl or the ArgoCD web UI
4. See that ArgoCD wants to apply the SOPS encryption fields

Environment

  • Helm Secrets Version: 4.6.0
  • ArgoCD Version: v1.11.7 and v1.12.0

Anything else?

Followed the guidelines in the repo to install plugins using an initcontainer.

I'm hoping I've overlooked something, on a broader scale I'm trying to rely on external charts as much as possible, and apply the secret manifest as part of the argo "app of apps" so that I can pass a reference to the secrets to the external chart, without having to maintain a dedicated secrets repo.

GlacierWalrus avatar Aug 08 '24 10:08 GlacierWalrus