Merge pull request #988 from souleb/fix-aliased-deps-resolution

Fix aliased chart dependencies resolution
This commit is contained in:
souleb 2022-12-19 10:36:37 +01:00 committed by GitHub
commit 0f7a263d71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 0 deletions

View File

@ -60,6 +60,7 @@ import (
sourcev1 "github.com/fluxcd/source-controller/api/v1beta2"
serror "github.com/fluxcd/source-controller/internal/error"
"github.com/fluxcd/source-controller/internal/helm/chart"
"github.com/fluxcd/source-controller/internal/helm/chart/secureloader"
"github.com/fluxcd/source-controller/internal/helm/registry"
"github.com/fluxcd/source-controller/internal/oci"
sreconcile "github.com/fluxcd/source-controller/internal/reconcile"
@ -1159,6 +1160,11 @@ func TestHelmChartReconciler_buildFromTarballArtifact(t *testing.T) {
g.Expect(build.Version).To(Equal("0.1.0"))
g.Expect(build.ResolvedDependencies).To(Equal(4))
g.Expect(build.Path).To(BeARegularFile())
chart, err := secureloader.LoadFile(build.Path)
g.Expect(err).ToNot(HaveOccurred())
g.Expect(chart.Metadata.Name).To(Equal("helmchartwithdeps"))
g.Expect(chart.Metadata.Version).To(Equal("0.1.0"))
g.Expect(chart.Dependencies()).To(HaveLen(4))
},
cleanFunc: func(g *WithT, build *chart.Build) {
g.Expect(os.Remove(build.Path)).To(Succeed())

View File

@ -218,6 +218,10 @@ func (dm *DependencyManager) addLocalDependency(ref LocalReference, c *chartWith
return err
}
if dep.Alias != "" {
ch.Metadata.Name = dep.Alias
}
c.mu.Lock()
c.AddDependency(ch)
c.mu.Unlock()
@ -246,6 +250,10 @@ func (dm *DependencyManager) addRemoteDependency(chart *chartWithLock, dep *helm
return fmt.Errorf("failed to load downloaded archive of version '%s': %w", ver.Version, err)
}
if dep.Alias != "" {
ch.Metadata.Name = dep.Alias
}
chart.mu.Lock()
chart.AddDependency(ch)
chart.mu.Unlock()