Skip to content

Commit 35399de

Browse files
committed
replace VFS with embed directive
Signed-off-by: Alex Leong <[email protected]>
1 parent db8fee7 commit 35399de

31 files changed

+191
-2496
lines changed

charts/templates.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package charts
2+
3+
import (
4+
"embed"
5+
)
6+
7+
//go:embed linkerd-control-plane linkerd-crds linkerd2-cni all:partials patch
8+
var Templates embed.FS

cli/cmd/install-cni-plugin.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66
"os"
77
"strings"
88

9-
"github.com/linkerd/linkerd2/pkg/charts"
9+
"github.com/linkerd/linkerd2/charts"
10+
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
1011
cnicharts "github.com/linkerd/linkerd2/pkg/charts/cni"
11-
"github.com/linkerd/linkerd2/pkg/charts/static"
1212
"github.com/linkerd/linkerd2/pkg/cmd"
1313
"github.com/linkerd/linkerd2/pkg/flags"
1414
"github.com/linkerd/linkerd2/pkg/version"
@@ -249,13 +249,13 @@ func renderCNIPlugin(w io.Writer, valOpts values.Options, config *cniPluginOptio
249249
{Name: "templates/cni-plugin.yaml"},
250250
}
251251

252-
ch := &charts.Chart{
252+
ch := &chartspkg.Chart{
253253
Name: helmCNIDefaultChartName,
254254
Dir: helmCNIDefaultChartDir,
255255
Namespace: defaultCNINamespace,
256256
Values: mergedValues,
257257
Files: files,
258-
Fs: static.Templates,
258+
Fs: charts.Templates,
259259
}
260260

261261
buf, err := ch.RenderCNI()

cli/cmd/install.go

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ import (
1313
"text/template"
1414
"time"
1515

16+
"github.com/linkerd/linkerd2/charts"
1617
"github.com/linkerd/linkerd2/cli/flag"
17-
"github.com/linkerd/linkerd2/pkg/charts"
18+
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
1819
l5dcharts "github.com/linkerd/linkerd2/pkg/charts/linkerd2"
19-
"github.com/linkerd/linkerd2/pkg/charts/static"
2020
pkgcmd "github.com/linkerd/linkerd2/pkg/cmd"
2121
flagspkg "github.com/linkerd/linkerd2/pkg/flags"
2222
"github.com/linkerd/linkerd2/pkg/healthcheck"
@@ -331,14 +331,11 @@ func isRunAsRoot(values map[string]interface{}) bool {
331331
// them into a buffer. The coalesced values are also returned so that they may be rendered via
332332
// `renderOverrides` if appropriate.
333333
func renderChartToBuffer(files []*loader.BufferedFile, values map[string]interface{}, valuesOverrides map[string]interface{}) (*bytes.Buffer, chartutil.Values, error) {
334-
// Load the partials in addition to the main chart.
335-
var partials []*loader.BufferedFile
336-
for _, template := range charts.L5dPartials {
337-
partials = append(partials, &loader.BufferedFile{Name: template})
338-
}
339-
if err := charts.FilesReader(static.Templates, "", partials); err != nil {
334+
partials, err := chartspkg.LoadPartials()
335+
if err != nil {
340336
return nil, nil, err
341337
}
338+
342339
chart, err := loader.LoadFiles(append(files, partials...))
343340
if err != nil {
344341
return nil, nil, err
@@ -435,13 +432,13 @@ func renderCRDs(ctx context.Context, k *k8s.KubernetesAPI, w io.Writer, options
435432
for _, template := range TemplatesCrdFiles {
436433
files = append(files, &loader.BufferedFile{Name: template})
437434
}
438-
if err := charts.FilesReader(static.Templates, l5dcharts.HelmChartDirCrds+"/", files); err != nil {
435+
if err := chartspkg.FilesReader(charts.Templates, l5dcharts.HelmChartDirCrds+"/", files); err != nil {
439436
return err
440437
}
441438

442439
// Load defaults from values.yaml
443440
valuesFile := &loader.BufferedFile{Name: l5dcharts.HelmChartDirCrds + "/values.yaml"}
444-
if err := charts.ReadFile(static.Templates, "/", valuesFile); err != nil {
441+
if err := chartspkg.ReadFile(charts.Templates, "", valuesFile); err != nil {
445442
return err
446443
}
447444
// Ensure the map is not nil, even if the default `values.yaml` is empty ---
@@ -470,7 +467,7 @@ func renderCRDs(ctx context.Context, k *k8s.KubernetesAPI, w io.Writer, options
470467
}
471468

472469
defaultValues = updateDefaultValues(installed, defaultValues)
473-
finalValues := charts.MergeMaps(defaultValues, valuesOverrides)
470+
finalValues := chartspkg.MergeMaps(defaultValues, valuesOverrides)
474471

475472
if err := validateFinalValues(installed, finalValues); err != nil {
476473
return err
@@ -492,7 +489,7 @@ func renderControlPlane(w io.Writer, values *l5dcharts.Values, valuesOverrides m
492489
for _, template := range TemplatesControlPlane {
493490
files = append(files, &loader.BufferedFile{Name: template})
494491
}
495-
if err := charts.FilesReader(static.Templates, l5dcharts.HelmChartDirCP+"/", files); err != nil {
492+
if err := chartspkg.FilesReader(charts.Templates, l5dcharts.HelmChartDirCP+"/", files); err != nil {
496493
return err
497494
}
498495

cli/cmd/install_helm_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import (
55
"path/filepath"
66
"testing"
77

8-
"github.com/linkerd/linkerd2/pkg/charts"
8+
"github.com/linkerd/linkerd2/charts"
9+
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
910
l5dcharts "github.com/linkerd/linkerd2/pkg/charts/linkerd2"
10-
"github.com/linkerd/linkerd2/pkg/charts/static"
1111
"github.com/linkerd/linkerd2/pkg/k8s"
1212
"github.com/linkerd/linkerd2/testutil"
1313
"helm.sh/helm/v3/pkg/chart"
@@ -227,7 +227,7 @@ func chartCrds(t *testing.T) *chart.Chart {
227227

228228
// Load defaults from values.yaml
229229
valuesFile := &loader.BufferedFile{Name: l5dcharts.HelmChartDirCrds + "/values.yaml"}
230-
if err := charts.ReadFile(static.Templates, "/", valuesFile); err != nil {
230+
if err := chartspkg.ReadFile(charts.Templates, "", valuesFile); err != nil {
231231
t.Fatal(err)
232232
}
233233
defaultValues := make(map[string]interface{})

jaeger/charts/templates.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package charts
2+
3+
import (
4+
"embed"
5+
)
6+
7+
//go:embed linkerd-jaeger
8+
var Templates embed.FS

jaeger/charts/templates_dynamic.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//go:build prod
2+
3+
package charts
4+
5+
import (
6+
"net/http"
7+
"path/filepath"
8+
"runtime"
9+
)
10+
11+
// Templates that will be rendered by `linkerd multicluster install`. This is only used on
12+
// dev builds.
13+
var Templates http.FileSystem = http.Dir(GetChartsRoot())
14+
15+
// GetRepoRoot returns the full path to the root of the repo. We assume this
16+
// function is only called from the `Templates` var above, and that this source
17+
// file lives at `multicluster/charts`, relative to the root of the repo.
18+
func GetChartsRoot() string {
19+
// /foo/bar/linkerd2/mutlicluster/charts/templates_dynamic.go
20+
_, filename, _, _ := runtime.Caller(0)
21+
22+
// /foo/bar/linkerd2/multicluster/charts
23+
return filepath.Dir(filename)
24+
}

jaeger/cmd/install.go

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ import (
88
"path"
99
"time"
1010

11-
"github.com/linkerd/linkerd2/jaeger/static"
12-
"github.com/linkerd/linkerd2/pkg/charts"
13-
partials "github.com/linkerd/linkerd2/pkg/charts/static"
11+
"github.com/linkerd/linkerd2/jaeger/charts"
12+
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
1413
pkgcmd "github.com/linkerd/linkerd2/pkg/cmd"
1514
"github.com/linkerd/linkerd2/pkg/flags"
1615
"github.com/linkerd/linkerd2/pkg/healthcheck"
@@ -126,20 +125,13 @@ func render(w io.Writer, valuesOverrides map[string]interface{}, registry string
126125
)
127126
}
128127

129-
var partialFiles []*loader.BufferedFile
130-
for _, template := range charts.L5dPartials {
131-
partialFiles = append(partialFiles,
132-
&loader.BufferedFile{Name: template},
133-
)
134-
}
135-
136128
// Load all jaeger chart files into buffer
137-
if err := charts.FilesReader(static.Templates, "linkerd-jaeger/", files); err != nil {
129+
if err := chartspkg.FilesReader(charts.Templates, "linkerd-jaeger/", files); err != nil {
138130
return err
139131
}
140132

141-
// Load all partial chart files into buffer
142-
if err := charts.FilesReader(partials.Templates, "", partialFiles); err != nil {
133+
partialFiles, err := chartspkg.LoadPartials()
134+
if err != nil {
143135
return err
144136
}
145137

@@ -154,7 +146,7 @@ func render(w io.Writer, valuesOverrides map[string]interface{}, registry string
154146
return err
155147
}
156148

157-
vals, err = charts.InsertVersionValues(vals)
149+
vals, err = chartspkg.InsertVersionValues(vals)
158150
if err != nil {
159151
return err
160152
}

jaeger/static/generate.go

Lines changed: 0 additions & 21 deletions
This file was deleted.

jaeger/static/generated_jaeger_templates.gogen.go

Lines changed: 0 additions & 353 deletions
This file was deleted.

jaeger/static/templates.go

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)