feat(helm): support subcharts from chartcenter

`helm package`, `helm template` and `helm install` will now work if a
subchart from chartcenter is used.

This fixes #8537

Signed-off-by: Jonas Rutishauser <jonas.rutishauser@alumni.ethz.ch>
pull/8875/head
Jonas Rutishauser 5 years ago
parent fc9b46067f
commit 8c14aa9a7f
No known key found for this signature in database
GPG Key ID: 29B5398CFE794AA6

@ -201,6 +201,11 @@ func TestInstall(t *testing.T) {
name: "install chart with only crds", name: "install chart with only crds",
cmd: "install crd-test testdata/testcharts/chart-with-only-crds --namespace default", cmd: "install crd-test testdata/testcharts/chart-with-only-crds --namespace default",
}, },
// Install with subchart from chartcenter
{
name: "install with subchart from chartcenter",
cmd: "install chartcenter testdata/testcharts/chartcenter --namespace default",
},
} }
runTestActionCmd(t, tests) runTestActionCmd(t, tests)

@ -0,0 +1,8 @@
apiVersion: v1
description: A Helm chart for Kubernetes
name: chartcenter
version: 0.1.0
dependencies:
- name: stable/mariadb
version: 4.x.x
repository: "https://repo.chartcenter.io"

@ -594,8 +594,12 @@ func CheckDependencies(ch *chart.Chart, reqs []*chart.Dependency) error {
OUTER: OUTER:
for _, r := range reqs { for _, r := range reqs {
req := r.Name
if idx := strings.LastIndex(req, "/"); idx >= 0 {
req = req[idx+1:]
}
for _, d := range ch.Dependencies() { for _, d := range ch.Dependencies() {
if d.Name() == r.Name { if d.Name() == req {
continue OUTER continue OUTER
} }
} }

Loading…
Cancel
Save