helmoci

Classic Helm chart repos → OCI registry.

How paths map

oci://helmoci.tuananh.net/<host>/<repo-path...>/<chart>

https://argoproj.github.io/argo-helm  +  argo-cd
  →  oci://helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd

https://charts.jetstack.io  +  cert-manager
  →  oci://helmoci.tuananh.net/charts.jetstack.io/cert-manager

Helm

$ helm pull oci://helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd --version 7.7.12
$ helm pull oci://helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd
$ helm show values oci://helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd --version 7.7.12
$ helm template t oci://helmoci.tuananh.net/charts.jetstack.io/cert-manager --version v1.16.2
$ helm install t oci://helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd --version 7.7.12 --dry-run=client

crane

$ crane ls helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd
$ crane manifest helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd:7.7.12
$ crane pull helmoci.tuananh.net/argoproj.github.io/argo-helm/argo-cd:7.7.12 chart.tar

API

$ curl -sI https://helmoci.tuananh.net/v2/
$ curl -s https://helmoci.tuananh.net/v2/argoproj.github.io/argo-helm/argo-cd/tags/list | jq '.tags[:5]'

Pull-only. No push, no catalog.