Skip to content

Commit 6b5d0b1

Browse files
committed
Fix aliased chart dependencies resolution
If implemented, this fix the issue were aliased chart dependencies were detected but not included in the final packaged chart. Signed-off-by: Soule BA <[email protected]>
1 parent 2eb984a commit 6b5d0b1

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)