pull/30976/merge
Kerat 1 day ago committed by GitHub
commit 60eab32ebf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -108,6 +108,10 @@ func (r *Resolver) Resolve(reqs []*chart.Dependency, repoNames map[string]string
}
repoName := repoNames[d.Name]
if d.Alias != "" {
repoName = repoNames[d.Alias]
}
// if the repository was not defined, but the dependency defines a repository url, bypass the cache
if repoName == "" && d.Repository != "" {
locked[i] = &chart.Dependency{

@ -137,9 +137,22 @@ func TestResolve(t *testing.T) {
},
err: true,
},
{
name: "charts with same name but different repo",
req: []*chart.Dependency{
{Name: "alpine", Repository: "repository-1", Version: "0.1.0"},
{Name: "alpine", Repository: "repository-2", Version: "0.3.0", Alias: "alpine-alias"},
},
expect: &chart.Lock{
Dependencies: []*chart.Dependency{
{Name: "alpine", Repository: "repository-1", Version: "0.1.0"},
{Name: "alpine", Repository: "repository-2", Version: "0.3.0"},
},
},
},
}
repoNames := map[string]string{"alpine": "kubernetes-charts", "redis": "kubernetes-charts"}
repoNames := map[string]string{"alpine": "repository-1", "redis": "repository-1", "alpine-alias": "repository-2"}
registryClient, _ := registry.NewClient()
r := New("testdata/chartpath", "testdata/repository", registryClient)
for _, tt := range tests {

@ -0,0 +1,16 @@
apiVersion: v1
entries:
alpine:
- name: alpine
urls:
- https://charts.helm.sh/stable/alpine-0.1.0.tgz
checksum: 0e6661f193211d7a5206918d42f5c2a9470b737d
home: https://helm.sh/helm
sources:
- https://github.com/helm/helm
version: 0.3.0
description: Deploy a basic Alpine Linux pod
keywords: []
maintainers: []
icon: ""
apiVersion: v2

@ -576,6 +576,10 @@ func (m *Manager) resolveRepoNames(deps []*chart.Dependency) (map[string]string,
// by Helm.
missing := []string{}
for _, dd := range deps {
chartName := dd.Name
if dd.Alias != "" {
chartName = dd.Alias
}
// Don't map the repository, we don't need to download chart from charts directory
if dd.Repository == "" {
continue
@ -589,12 +593,12 @@ func (m *Manager) resolveRepoNames(deps []*chart.Dependency) (map[string]string,
if m.Debug {
fmt.Fprintf(m.Out, "Repository from local path: %s\n", dd.Repository)
}
reposMap[dd.Name] = dd.Repository
reposMap[chartName] = dd.Repository
continue
}
if registry.IsOCI(dd.Repository) {
reposMap[dd.Name] = dd.Repository
reposMap[chartName] = dd.Repository
continue
}
@ -605,11 +609,11 @@ func (m *Manager) resolveRepoNames(deps []*chart.Dependency) (map[string]string,
(strings.HasPrefix(dd.Repository, "alias:") && strings.TrimPrefix(dd.Repository, "alias:") == repo.Name) {
found = true
dd.Repository = repo.URL
reposMap[dd.Name] = repo.Name
reposMap[chartName] = repo.Name
break
} else if urlutil.Equal(repo.URL, dd.Repository) {
found = true
reposMap[dd.Name] = repo.Name
reposMap[chartName] = repo.Name
break
}
}

Loading…
Cancel
Save