From 2fbb1a28ea7637bcdbb84249b75603d95aafe5df Mon Sep 17 00:00:00 2001 From: Imran Pochi Date: Mon, 4 May 2020 13:58:33 +0530 Subject: [PATCH] refactor: remove template.go from components/util package. Since RenderTemplate function is now part of the `internal` package, this caused duplication. Hence the file `template.go` is removed from the codebase. Also we update the references to `util.RenderTemplate` to now refer to the correct package and function. Signed-off-by: Imran Pochi --- pkg/backend/local/local.go | 4 +-- pkg/backend/s3/s3.go | 4 +-- pkg/components/cert-manager/component.go | 3 +- .../cluster-autoscaler/component.go | 3 +- pkg/components/contour/component.go | 5 +-- pkg/components/dex/component.go | 8 ++--- pkg/components/external-dns/component.go | 6 ++-- pkg/components/metallb/component.go | 10 +++--- pkg/components/metrics-server/component.go | 3 +- pkg/components/openebs-operator/component.go | 3 +- .../prometheus-operator/component.go | 3 +- pkg/components/rook-ceph/component.go | 6 ++-- pkg/components/rook/component.go | 4 ++- pkg/components/util/template.go | 34 ------------------- pkg/components/velero/velero.go | 3 +- 15 files changed, 40 insertions(+), 59 deletions(-) delete mode 100644 pkg/components/util/template.go diff --git a/pkg/backend/local/local.go b/pkg/backend/local/local.go index 94f483ede..4f494fd90 100644 --- a/pkg/backend/local/local.go +++ b/pkg/backend/local/local.go @@ -18,8 +18,8 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/gohcl" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/backend" - "github.com/kinvolk/lokomotive/pkg/components/util" ) type local struct { @@ -45,7 +45,7 @@ func NewLocalBackend() *local { // Render renders the Go template with local backend configuration. func (l *local) Render() (string, error) { - return util.RenderTemplate(backendConfigTmpl, l) + return template.Render(backendConfigTmpl, l) } // Validate validates the local backend configuration. diff --git a/pkg/backend/s3/s3.go b/pkg/backend/s3/s3.go index 825fd82b4..a0dc2f92d 100644 --- a/pkg/backend/s3/s3.go +++ b/pkg/backend/s3/s3.go @@ -21,8 +21,8 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/pkg/errors" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/backend" - "github.com/kinvolk/lokomotive/pkg/components/util" ) type s3 struct { @@ -52,7 +52,7 @@ func NewS3Backend() *s3 { // Render renders the Go template with s3 backend configuration. func (s *s3) Render() (string, error) { - return util.RenderTemplate(backendConfigTmpl, s) + return template.Render(backendConfigTmpl, s) } // Validate validates the s3 backend configuration. diff --git a/pkg/components/cert-manager/component.go b/pkg/components/cert-manager/component.go index 44f073e63..9411c10e8 100644 --- a/pkg/components/cert-manager/component.go +++ b/pkg/components/cert-manager/component.go @@ -21,6 +21,7 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/pkg/errors" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" ) @@ -79,7 +80,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, errors.Wrap(err, "load chart from assets") } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, errors.Wrap(err, "render chart values template") } diff --git a/pkg/components/cluster-autoscaler/component.go b/pkg/components/cluster-autoscaler/component.go index fd239c3d1..7723c6afc 100644 --- a/pkg/components/cluster-autoscaler/component.go +++ b/pkg/components/cluster-autoscaler/component.go @@ -26,6 +26,7 @@ import ( "github.com/packethost/packngo" "github.com/pkg/errors" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" ) @@ -323,7 +324,7 @@ func (c *component) RenderManifests() (map[string]string, error) { c.Packet.AuthToken = base64.StdEncoding.EncodeToString([]byte(os.Getenv("PACKET_AUTH_TOKEN"))) } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, errors.Wrap(err, "render chart values template") } diff --git a/pkg/components/contour/component.go b/pkg/components/contour/component.go index 76c0dc8ab..eaf4941e9 100644 --- a/pkg/components/contour/component.go +++ b/pkg/components/contour/component.go @@ -19,9 +19,10 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/gohcl" - "github.com/kinvolk/lokomotive/pkg/components/util" + internaltemplate "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" + "github.com/kinvolk/lokomotive/pkg/components/util" ) const ( @@ -101,7 +102,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("failed to marshal node affinity: %w", err) } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := internaltemplate.Render(chartValuesTmpl, c) if err != nil { return nil, fmt.Errorf("rendering values template failed: %w", err) } diff --git a/pkg/components/dex/component.go b/pkg/components/dex/component.go index 72a33ac69..b3b24e6f8 100644 --- a/pkg/components/dex/component.go +++ b/pkg/components/dex/component.go @@ -25,8 +25,8 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/pkg/errors" + internaltemplate "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" - "github.com/kinvolk/lokomotive/pkg/components/util" ) const name = "dex" @@ -310,17 +310,17 @@ func (c *component) RenderManifests() (map[string]string, error) { } c.StaticClientsRaw = staticClients - configMap, err := util.RenderTemplate(configMapTmpl, c) + configMap, err := internaltemplate.Render(configMapTmpl, c) if err != nil { return nil, errors.Wrap(err, "execute template failed") } - ingressBuf, err := util.RenderTemplate(ingressTmpl, c) + ingressBuf, err := internaltemplate.Render(ingressTmpl, c) if err != nil { return nil, errors.Wrap(err, "execute template failed") } - deployment, err := util.RenderTemplate(deploymentTmpl, c) + deployment, err := internaltemplate.Render(deploymentTmpl, c) if err != nil { return nil, errors.Wrap(err, "execute template failed") } diff --git a/pkg/components/external-dns/component.go b/pkg/components/external-dns/component.go index 7f5290d6e..683c543c9 100644 --- a/pkg/components/external-dns/component.go +++ b/pkg/components/external-dns/component.go @@ -20,9 +20,11 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/gohcl" + "github.com/pkg/errors" + + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" - "github.com/pkg/errors" ) const name = "external-dns" @@ -128,7 +130,7 @@ func (c *component) RenderManifests() (map[string]string, error) { c.AwsConfig.SecretAccessKey = secretAccessKey } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, errors.Wrap(err, "render chart values template") } diff --git a/pkg/components/metallb/component.go b/pkg/components/metallb/component.go index c01dd1cac..bc7e505b1 100644 --- a/pkg/components/metallb/component.go +++ b/pkg/components/metallb/component.go @@ -17,9 +17,11 @@ package metallb import ( "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/gohcl" + "github.com/pkg/errors" + + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" - "github.com/pkg/errors" ) const name = "metallb" @@ -85,17 +87,17 @@ func (c *component) RenderManifests() (map[string]string, error) { } c.ControllerTolerationsJSON = t - controllerStr, err := util.RenderTemplate(deploymentController, c) + controllerStr, err := template.Render(deploymentController, c) if err != nil { return nil, errors.Wrap(err, "render template failed") } - speakerStr, err := util.RenderTemplate(daemonsetSpeaker, c) + speakerStr, err := template.Render(daemonsetSpeaker, c) if err != nil { return nil, errors.Wrap(err, "render template failed") } - configMapStr, err := util.RenderTemplate(configMap, c) + configMapStr, err := template.Render(configMap, c) if err != nil { return nil, errors.Wrap(err, "rendering ConfigMap template failed") } diff --git a/pkg/components/metrics-server/component.go b/pkg/components/metrics-server/component.go index 609f938f9..a0ef246e8 100644 --- a/pkg/components/metrics-server/component.go +++ b/pkg/components/metrics-server/component.go @@ -21,6 +21,7 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/pkg/errors" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" ) @@ -75,7 +76,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, errors.Wrap(err, "load chart from assets") } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, errors.Wrap(err, "render chart values template") } diff --git a/pkg/components/openebs-operator/component.go b/pkg/components/openebs-operator/component.go index 0845aad60..99d0eb07a 100644 --- a/pkg/components/openebs-operator/component.go +++ b/pkg/components/openebs-operator/component.go @@ -20,6 +20,7 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/gohcl" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" ) @@ -101,7 +102,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("load chart from assets: %w", err) } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, fmt.Errorf("render chart values template: %w", err) } diff --git a/pkg/components/prometheus-operator/component.go b/pkg/components/prometheus-operator/component.go index 748baf94e..08e37148b 100644 --- a/pkg/components/prometheus-operator/component.go +++ b/pkg/components/prometheus-operator/component.go @@ -21,6 +21,7 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/pkg/errors" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/types" "github.com/kinvolk/lokomotive/pkg/components/util" @@ -149,7 +150,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, errors.Wrap(err, "load chart from assets") } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, errors.Wrap(err, "render chart values template") } diff --git a/pkg/components/rook-ceph/component.go b/pkg/components/rook-ceph/component.go index 34710f698..e40344be7 100644 --- a/pkg/components/rook-ceph/component.go +++ b/pkg/components/rook-ceph/component.go @@ -19,9 +19,11 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/gohcl" + "github.com/pkg/errors" + + internaltemplate "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" - "github.com/pkg/errors" ) const name = "rook-ceph" @@ -74,7 +76,7 @@ func (c *component) RenderManifests() (map[string]string, error) { // Parse template with values for k, v := range template { - rendered, err := util.RenderTemplate(v, c) + rendered, err := internaltemplate.Render(v, c) if err != nil { return nil, fmt.Errorf("template rendering failed for %q: %w", k, err) } diff --git a/pkg/components/rook/component.go b/pkg/components/rook/component.go index 97c25d083..338e42fc6 100644 --- a/pkg/components/rook/component.go +++ b/pkg/components/rook/component.go @@ -19,6 +19,8 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/gohcl" + + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" ) @@ -75,7 +77,7 @@ func (c *component) RenderManifests() (map[string]string, error) { c.RookNodeAffinity = convertNodeSelector(c.NodeSelector) - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, fmt.Errorf("rendering values template failed: %w", err) } diff --git a/pkg/components/util/template.go b/pkg/components/util/template.go deleted file mode 100644 index d9d54c182..000000000 --- a/pkg/components/util/template.go +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2020 The Lokomotive Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package util - -import ( - "bytes" - "text/template" -) - -// RenderTemplate applies a parsed template to the specified data object -// and returns the output as string or an error. -func RenderTemplate(tmpl string, obj interface{}) (string, error) { - t, err := template.New("render").Parse(tmpl) - if err != nil { - return "", err - } - var buf bytes.Buffer - if err = t.Execute(&buf, obj); err != nil { - return "", err - } - return buf.String(), nil -} diff --git a/pkg/components/velero/velero.go b/pkg/components/velero/velero.go index 2e9739a33..52a0cc2d9 100644 --- a/pkg/components/velero/velero.go +++ b/pkg/components/velero/velero.go @@ -22,6 +22,7 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/pkg/errors" + "github.com/kinvolk/lokomotive/internal/template" "github.com/kinvolk/lokomotive/pkg/components" "github.com/kinvolk/lokomotive/pkg/components/util" "github.com/kinvolk/lokomotive/pkg/components/velero/azure" @@ -152,7 +153,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, errors.Wrap(err, "load chart from assets") } - values, err := util.RenderTemplate(chartValuesTmpl, c) + values, err := template.Render(chartValuesTmpl, c) if err != nil { return nil, errors.Wrap(err, "render chart values template") }