Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ web/app/js/locales/_build
web/app/js/locales/**/*.js
web/app/yarn-error.log
vendor
**/*.gogen*
**/*.swp
**/charts/**/charts
package-lock.json
Expand Down
7 changes: 1 addition & 6 deletions bin/build-cli-bin
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,7 @@ rootdir=$( cd "$bindir"/.. && pwd )
cd "$rootdir"
cd "$(pwd -P)"
target=target/cli/$(os)/linkerd
# TODO: `go generate` does not honor -mod=readonly
GO111MODULE=on go generate -mod=readonly ./pkg/charts/static
GO111MODULE=on go generate -mod=readonly ./jaeger/static
GO111MODULE=on go generate -mod=readonly ./multicluster/static
GO111MODULE=on go generate -mod=readonly ./viz/static


root_tag=$("$bindir"/root-tag)
GO111MODULE=on CGO_ENABLED=0 go build -o "$target" -tags prod -mod=readonly -ldflags "-s -w -X github.com/linkerd/linkerd2/pkg/version.Version=$root_tag" ./cli
echo "$target"
Expand Down
8 changes: 8 additions & 0 deletions charts/templates.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package charts

import (
"embed"
)

//go:embed linkerd-control-plane linkerd-crds linkerd2-cni all:partials patch
var Templates embed.FS
7 changes: 0 additions & 7 deletions cli/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,6 @@ COPY controller/api controller/api
COPY controller/gen controller/gen
COPY pkg pkg

# Generate static templates
# TODO: `go generate` does not honor -mod=readonly
RUN go generate -mod=readonly ./pkg/charts/static
RUN go generate -mod=readonly ./jaeger/static
RUN go generate -mod=readonly ./multicluster/static
RUN go generate -mod=readonly ./viz/static

RUN mkdir -p /out

FROM go-gen AS linux-amd64-full
Expand Down
8 changes: 4 additions & 4 deletions cli/cmd/install-cni-plugin.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import (
"os"
"strings"

"github.com/linkerd/linkerd2/pkg/charts"
"github.com/linkerd/linkerd2/charts"
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
cnicharts "github.com/linkerd/linkerd2/pkg/charts/cni"
"github.com/linkerd/linkerd2/pkg/charts/static"
"github.com/linkerd/linkerd2/pkg/cmd"
"github.com/linkerd/linkerd2/pkg/flags"
"github.com/linkerd/linkerd2/pkg/version"
Expand Down Expand Up @@ -249,13 +249,13 @@ func renderCNIPlugin(w io.Writer, valOpts values.Options, config *cniPluginOptio
{Name: "templates/cni-plugin.yaml"},
}

ch := &charts.Chart{
ch := &chartspkg.Chart{
Name: helmCNIDefaultChartName,
Dir: helmCNIDefaultChartDir,
Namespace: defaultCNINamespace,
Values: mergedValues,
Files: files,
Fs: static.Templates,
Fs: charts.Templates,
}

buf, err := ch.RenderCNI()
Expand Down
21 changes: 9 additions & 12 deletions cli/cmd/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import (
"text/template"
"time"

"github.com/linkerd/linkerd2/charts"
"github.com/linkerd/linkerd2/cli/flag"
"github.com/linkerd/linkerd2/pkg/charts"
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
l5dcharts "github.com/linkerd/linkerd2/pkg/charts/linkerd2"
"github.com/linkerd/linkerd2/pkg/charts/static"
pkgcmd "github.com/linkerd/linkerd2/pkg/cmd"
flagspkg "github.com/linkerd/linkerd2/pkg/flags"
"github.com/linkerd/linkerd2/pkg/healthcheck"
Expand Down Expand Up @@ -331,14 +331,11 @@ func isRunAsRoot(values map[string]interface{}) bool {
// them into a buffer. The coalesced values are also returned so that they may be rendered via
// `renderOverrides` if appropriate.
func renderChartToBuffer(files []*loader.BufferedFile, values map[string]interface{}, valuesOverrides map[string]interface{}) (*bytes.Buffer, chartutil.Values, error) {
// Load the partials in addition to the main chart.
var partials []*loader.BufferedFile
for _, template := range charts.L5dPartials {
partials = append(partials, &loader.BufferedFile{Name: template})
}
if err := charts.FilesReader(static.Templates, "", partials); err != nil {
partials, err := chartspkg.LoadPartials()
if err != nil {
return nil, nil, err
}

chart, err := loader.LoadFiles(append(files, partials...))
if err != nil {
return nil, nil, err
Expand Down Expand Up @@ -435,13 +432,13 @@ func renderCRDs(ctx context.Context, k *k8s.KubernetesAPI, w io.Writer, options
for _, template := range TemplatesCrdFiles {
files = append(files, &loader.BufferedFile{Name: template})
}
if err := charts.FilesReader(static.Templates, l5dcharts.HelmChartDirCrds+"/", files); err != nil {
if err := chartspkg.FilesReader(charts.Templates, l5dcharts.HelmChartDirCrds+"/", files); err != nil {
return err
}

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

defaultValues = updateDefaultValues(installed, defaultValues)
finalValues := charts.MergeMaps(defaultValues, valuesOverrides)
finalValues := chartspkg.MergeMaps(defaultValues, valuesOverrides)

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

Expand Down
6 changes: 3 additions & 3 deletions cli/cmd/install_helm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (
"path/filepath"
"testing"

"github.com/linkerd/linkerd2/pkg/charts"
"github.com/linkerd/linkerd2/charts"
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
l5dcharts "github.com/linkerd/linkerd2/pkg/charts/linkerd2"
"github.com/linkerd/linkerd2/pkg/charts/static"
"github.com/linkerd/linkerd2/pkg/k8s"
"github.com/linkerd/linkerd2/testutil"
"helm.sh/helm/v3/pkg/chart"
Expand Down Expand Up @@ -227,7 +227,7 @@ func chartCrds(t *testing.T) *chart.Chart {

// Load defaults from values.yaml
valuesFile := &loader.BufferedFile{Name: l5dcharts.HelmChartDirCrds + "/values.yaml"}
if err := charts.ReadFile(static.Templates, "/", valuesFile); err != nil {
if err := chartspkg.ReadFile(charts.Templates, "", valuesFile); err != nil {
t.Fatal(err)
}
defaultValues := make(map[string]interface{})
Expand Down
4 changes: 1 addition & 3 deletions controller/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,12 @@ FROM go-deps AS golang
WORKDIR /linkerd-build
COPY controller/gen controller/gen
COPY pkg pkg
COPY charts charts
COPY controller controller
COPY charts/patch charts/patch
COPY charts/partials charts/partials
COPY multicluster multicluster

# Generate static templates
# TODO: `go generate` does not honor -mod=readonly
RUN go generate -mod=readonly ./pkg/charts/static
ARG TARGETARCH
RUN CGO_ENABLED=0 GOOS=linux GOARCH=$TARGETARCH go build -o /out/controller -tags prod -mod=readonly -ldflags "-s -w" ./controller/cmd

Expand Down
8 changes: 8 additions & 0 deletions jaeger/charts/templates.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package charts

import (
"embed"
)

//go:embed linkerd-jaeger
var Templates embed.FS
20 changes: 6 additions & 14 deletions jaeger/cmd/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@ import (
"path"
"time"

"github.com/linkerd/linkerd2/jaeger/static"
"github.com/linkerd/linkerd2/pkg/charts"
partials "github.com/linkerd/linkerd2/pkg/charts/static"
"github.com/linkerd/linkerd2/jaeger/charts"
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
pkgcmd "github.com/linkerd/linkerd2/pkg/cmd"
"github.com/linkerd/linkerd2/pkg/flags"
"github.com/linkerd/linkerd2/pkg/healthcheck"
Expand Down Expand Up @@ -126,20 +125,13 @@ func render(w io.Writer, valuesOverrides map[string]interface{}, registry string
)
}

var partialFiles []*loader.BufferedFile
for _, template := range charts.L5dPartials {
partialFiles = append(partialFiles,
&loader.BufferedFile{Name: template},
)
}

// Load all jaeger chart files into buffer
if err := charts.FilesReader(static.Templates, "linkerd-jaeger/", files); err != nil {
if err := chartspkg.FilesReader(charts.Templates, "linkerd-jaeger/", files); err != nil {
return err
}

// Load all partial chart files into buffer
if err := charts.FilesReader(partials.Templates, "", partialFiles); err != nil {
partialFiles, err := chartspkg.LoadPartials()
if err != nil {
return err
}

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

vals, err = charts.InsertVersionValues(vals)
vals, err = chartspkg.InsertVersionValues(vals)
if err != nil {
return err
}
Expand Down
21 changes: 0 additions & 21 deletions jaeger/static/generate.go

This file was deleted.

15 changes: 0 additions & 15 deletions jaeger/static/templates.go

This file was deleted.

8 changes: 8 additions & 0 deletions multicluster/charts/templates.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package charts

import (
"embed"
)

//go:embed linkerd-multicluster linkerd-multicluster-link
var Templates embed.FS
12 changes: 6 additions & 6 deletions multicluster/cmd/allow.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (
"errors"
"fmt"

"github.com/linkerd/linkerd2/multicluster/static"
"github.com/linkerd/linkerd2/multicluster/charts"
mccharts "github.com/linkerd/linkerd2/multicluster/values"
"github.com/linkerd/linkerd2/pkg/charts"
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
pkgcmd "github.com/linkerd/linkerd2/pkg/cmd"
"github.com/linkerd/linkerd2/pkg/k8s"
"github.com/linkerd/linkerd2/pkg/version"
Expand Down Expand Up @@ -59,13 +59,13 @@ func newAllowCommand() *cobra.Command {
{Name: "templates/remote-access-service-mirror-rbac.yaml"},
}

chart := &charts.Chart{
Name: helmMulticlusterDefaultChartName,
Dir: helmMulticlusterDefaultChartName,
chart := &chartspkg.Chart{
Name: mccharts.HelmDefaultChartDir,
Dir: mccharts.HelmDefaultChartDir,
Namespace: opts.namespace,
RawValues: rawValues,
Files: files,
Fs: static.Templates,
Fs: charts.Templates,
}
buf, err := chart.Render()
if err != nil {
Expand Down
20 changes: 6 additions & 14 deletions multicluster/cmd/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@ import (
"strings"
"time"

"github.com/linkerd/linkerd2/multicluster/static"
"github.com/linkerd/linkerd2/multicluster/charts"
multicluster "github.com/linkerd/linkerd2/multicluster/values"
"github.com/linkerd/linkerd2/pkg/charts"
partials "github.com/linkerd/linkerd2/pkg/charts/static"
chartspkg "github.com/linkerd/linkerd2/pkg/charts"
pkgcmd "github.com/linkerd/linkerd2/pkg/cmd"
"github.com/linkerd/linkerd2/pkg/flags"
"github.com/linkerd/linkerd2/pkg/healthcheck"
Expand Down Expand Up @@ -137,7 +136,7 @@ func install(ctx context.Context, w io.Writer, options *multiclusterInstallOptio
}

if ha {
valuesOverrides, err = charts.OverrideFromFile(valuesOverrides, static.Templates, helmMulticlusterDefaultChartName, "values-ha.yaml")
valuesOverrides, err = chartspkg.OverrideFromFile(valuesOverrides, charts.Templates, multicluster.HelmDefaultChartDir, "values-ha.yaml")
if err != nil {
return err
}
Expand All @@ -156,20 +155,13 @@ func render(w io.Writer, values *multicluster.Values, valuesOverrides map[string
files = append(files, &loader.BufferedFile{Name: template})
}

var partialFiles []*loader.BufferedFile
for _, template := range charts.L5dPartials {
partialFiles = append(partialFiles,
&loader.BufferedFile{Name: template},
)
}

// Load all multicluster install chart files into buffer
if err := charts.FilesReader(static.Templates, helmMulticlusterDefaultChartName+"/", files); err != nil {
if err := chartspkg.FilesReader(charts.Templates, multicluster.HelmDefaultChartDir+"/", files); err != nil {
return err
}

// Load all partial chart files into buffer
if err := charts.FilesReader(partials.Templates, "", partialFiles); err != nil {
partialFiles, err := chartspkg.LoadPartials()
if err != nil {
return err
}

Expand Down
Loading