From 36cf932ff0105a4cf574fc687deb4c1cb01bc0d1 Mon Sep 17 00:00:00 2001 From: Nick Kampe Date: Sat, 1 Aug 2026 11:08:45 -0500 Subject: [PATCH] docs(chart): fix ArgoCD example for native OCI sources (full artifact repoURL + path) (#3426) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem `examples/argocd-app.yaml` uses the split form: ```yaml repoURL: oci://ghcr.io/block/buzz/charts chart: buzz targetRevision: 0.1.0 ``` On ArgoCD >= 3.0 (native OCI sources), the `chart` field is **ignored** for `oci://` repoURLs, so ArgoCD tries to pull the `charts` path itself and fails with `403 … repository:block/buzz/charts:pull denied` — a misleading error that reads like an auth problem. Additionally, spec validation rejects the Application without a `path` (`spec.source.repoURL and either spec.source.path or spec.source.chart are required`), since `chart` isn't recognized for OCI. Hit both on ArgoCD 3.4.4 following the example verbatim. ## Fix Use the full chart artifact path as `repoURL`, add `path: "."`, bump the pinned example version to the latest published chart (0.1.6), and leave a comment explaining both traps: ```yaml repoURL: oci://ghcr.io/block/buzz/charts/buzz path: . targetRevision: 0.1.6 ``` Verified working in production (ArgoCD 3.4.4, anonymous GHCR pull, chart 0.1.6). Related open PRs/issues: none found. --------- Signed-off-by: Kampe Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@buzz.block.builderlab.xyz> Co-authored-by: Kampe Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@buzz.block.builderlab.xyz> --- deploy/charts/buzz/examples/argocd-app.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/deploy/charts/buzz/examples/argocd-app.yaml b/deploy/charts/buzz/examples/argocd-app.yaml index 8f6cb7622..a29a6919b 100644 --- a/deploy/charts/buzz/examples/argocd-app.yaml +++ b/deploy/charts/buzz/examples/argocd-app.yaml @@ -16,9 +16,14 @@ metadata: spec: project: default source: - repoURL: oci://ghcr.io/block/buzz/charts - chart: buzz - targetRevision: 0.1.0 + # Argo CD >= 3.1 native OCI sources: repoURL must be the FULL chart + # artifact path — with the `repoURL: …/charts` + `chart: buzz` split + # form, the `chart` field is ignored for oci:// URLs and the fetch + # fails with a 403 (`repository:block/buzz/charts:pull` denied). The + # spec validator still requires `path`; use "." for OCI sources. + repoURL: oci://ghcr.io/block/buzz/charts/buzz + path: . + targetRevision: 0.1.7 helm: releaseName: buzz values: |