A helm repo proxy run on cloudflare worker.
If you're looking for proxy for docker, maybe you can try cloudflare-docker-proxy.
- request based on
${cloudflare_worker_route}/${key}will request to${url}. - text of
*/index.yamlwill be handled with replaces rules. $hostin replaces will be replace with cloudflare worker route.
const routes = { stable: { url: 'https://charts.helm.sh/stable', replaces: { 'charts.helm.sh': '$host', }, }, incubator: { url: 'https://charts.helm.sh/incubator', replaces: { 'charts.helm.sh': '$host', }, }, grafana: { url: 'https://grafana.github.io/helm-charts', replaces: { 'github.com': 'hub.fastgit.org', }, }, prometheus: { url: 'https://prometheus-community.github.io/helm-charts', replaces: { 'prometheus-community.github.io/helm-charts': '$host/prometheus', }, }, 'k8s-at-home': { url: 'https://k8s-at-home.com/charts/', replaces: { 'github.com': 'hub.fastgit.org', }, }, }
# helm usage helm repo add stable https://${cloudflare_worker_route}/stable helm search repo stable/zetcd # curl test curl https://${cloudflare_worker_route}/stable/index.yaml curl https://${cloudflare_worker_route}/stable/packages/zetcd-0.1.2.tgz