Skip to content

Commit 0f7a263

Browse files
authored
Merge pull request #988 from souleb/fix-aliased-deps-resolution
Fix aliased chart dependencies resolution
2 parents 2eb984a + 6b5d0b1 commit 0f7a263

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

controllers/helmchart_controller_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ import (
6060
sourcev1 "github.com/fluxcd/source-controller/api/v1beta2"
6161
serror "github.com/fluxcd/source-controller/internal/error"
6262
"github.com/fluxcd/source-controller/internal/helm/chart"
63+
"github.com/fluxcd/source-controller/internal/helm/chart/secureloader"
6364
"github.com/fluxcd/source-controller/internal/helm/registry"
6465
"github.com/fluxcd/source-controller/internal/oci"
6566
sreconcile "github.com/fluxcd/source-controller/internal/reconcile"
@@ -1159,6 +1160,11 @@ func TestHelmChartReconciler_buildFromTarballArtifact(t *testing.T) {
11591160
g.Expect(build.Version).To(Equal("0.1.0"))
11601161
g.Expect(build.ResolvedDependencies).To(Equal(4))
11611162
g.Expect(build.Path).To(BeARegularFile())
1163+
chart, err := secureloader.LoadFile(build.Path)
1164+
g.Expect(err).ToNot(HaveOccurred())
1165+
g.Expect(chart.Metadata.Name).To(Equal("helmchartwithdeps"))
1166+
g.Expect(chart.Metadata.Version).To(Equal("0.1.0"))
1167+
g.Expect(chart.Dependencies()).To(HaveLen(4))
11621168
},
11631169
cleanFunc: func(g *WithT, build *chart.Build) {
11641170
g.Expect(os.Remove(build.Path)).To(Succeed())

internal/helm/chart/dependency_manager.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,10 @@ func (dm *DependencyManager) addLocalDependency(ref LocalReference, c *chartWith
218218
return err
219219
}
220220

221+
if dep.Alias != "" {
222+
ch.Metadata.Name = dep.Alias
223+
}
224+
221225
c.mu.Lock()
222226
c.AddDependency(ch)
223227
c.mu.Unlock()
@@ -246,6 +250,10 @@ func (dm *DependencyManager) addRemoteDependency(chart *chartWithLock, dep *helm
246250
return fmt.Errorf("failed to load downloaded archive of version '%s': %w", ver.Version, err)
247251
}
248252

253+
if dep.Alias != "" {
254+
ch.Metadata.Name = dep.Alias
255+
}
256+
249257
chart.mu.Lock()
250258
chart.AddDependency(ch)
251259
chart.mu.Unlock()

0 commit comments

Comments
 (0)