zarf-dev/zarf

Support OCI references for ArgoCD in Mutating Webhook

Opened this issue · 0 comments

Is your feature request related to a problem? Please describe.

ArgoCD supports the deployment of Helm OCI charts: https://argo-cd.readthedocs.io/en/stable/user-guide/helm/#declarative

This is quite useful for a gitops pattern where the chart is built as an OCI artifact and the git repository is only referenced for the values.yaml files for the various environments.

Currently when this pattern is used with Zarf the ArgoCD Application object that has a definition with:

  source:
    chart: cert-manager  
    repoURL: registry-1.docker.io/bitnamicharts
    targetRevision: 1.3.18

Is mutated by the webhook to refer to a gitea repository that won't exist rather than the zarf registry where the OCI chart would have been pushed when listed in the images section of the zarf component:

  source:
    chart: cert-manager
    repoURL: http://zarf-gitea-http.zarf.svc.cluster.local:3000/zarf-git-user/bitnamicharts-3383370025
    targetRevision: 1.3.18

Describe the solution you'd like

  • Given an OCI chart reference in an ArgoCD Application object and it's inclusion in the images section of the zarf component
  • When The mutating webhook modifies the Application object
  • Then The resulting Application object should reference the OCI chart in the Zarf registry

Describe alternatives you've considered

Bundling the chart directly into the git repository as a self-managed helm dependency rather than an referenced artifact which is not ideal

Additional context

I think this would additionally require the creation of a new repository secret for ArgoCD with enableOCI: "true" set in the data section.