From 63cc1eb6db5d089eb4117772260f1bad50be2be2 Mon Sep 17 00:00:00 2001 From: Mateusz Gozdek Date: Thu, 29 Oct 2020 17:39:24 +0100 Subject: [PATCH] pkg/components: export component names using Name constant As a preparation for #992. Signed-off-by: Mateusz Gozdek --- .../aws-ebs-csi-driver/component.go | 16 +++++++++----- .../aws-ebs-csi-driver/component_test.go | 6 ++--- pkg/components/cert-manager/component.go | 14 +++++++----- .../cluster-autoscaler/component.go | 16 +++++++++----- .../cluster-autoscaler/component_test.go | 4 ++-- pkg/components/contour/component.go | 13 ++++++----- pkg/components/contour/component_test.go | 2 +- pkg/components/dex/component.go | 16 +++++++++----- pkg/components/external-dns/component.go | 22 +++++++++++-------- pkg/components/external-dns/component_test.go | 12 +++++----- .../component.go | 14 +++++++----- .../component_test.go | 2 +- pkg/components/gangway/component.go | 16 +++++++++----- pkg/components/httpbin/component.go | 16 +++++++++----- pkg/components/inspektor-gadget/component.go | 14 +++++++----- pkg/components/istio-operator/component.go | 11 ++++++---- .../istio-operator/component_test.go | 4 ++-- pkg/components/metallb/component.go | 10 ++++++--- pkg/components/metallb/component_test.go | 2 +- pkg/components/metrics-server/component.go | 14 +++++++----- .../metrics-server/component_test.go | 2 +- pkg/components/openebs-operator/component.go | 14 +++++++----- .../openebs-storage-class/component.go | 13 ++++++----- .../openebs-storage-class/component_test.go | 2 +- .../prometheus-operator/component.go | 14 +++++++----- .../prometheus-operator/component_test.go | 4 ++-- pkg/components/rook-ceph/component.go | 10 ++++++--- pkg/components/rook-ceph/component_test.go | 2 +- pkg/components/rook/component.go | 14 +++++++----- pkg/components/velero/component.go | 14 +++++++----- pkg/components/velero/component_test.go | 10 ++++----- pkg/components/web-ui/component.go | 14 +++++++----- 32 files changed, 208 insertions(+), 129 deletions(-) diff --git a/pkg/components/aws-ebs-csi-driver/component.go b/pkg/components/aws-ebs-csi-driver/component.go index 9dc4ee22b..d9b4ddf0a 100644 --- a/pkg/components/aws-ebs-csi-driver/component.go +++ b/pkg/components/aws-ebs-csi-driver/component.go @@ -26,15 +26,19 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "aws-ebs-csi-driver" +const ( + // Name represents AWS EBS CSI driver component name as it should be referenced in function calls + // and in configuration. + Name = "aws-ebs-csi-driver" -const chartValuesTmpl = ` + chartValuesTmpl = ` enableDefaultStorageClass: {{ .EnableDefaultStorageClass }} ` +) //nolint:gochecknoinits func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -58,7 +62,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex // RenderManifests renders the Helm chart templates with values provided. func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -68,7 +72,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template failed: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -78,7 +82,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: "kube-system", }, diff --git a/pkg/components/aws-ebs-csi-driver/component_test.go b/pkg/components/aws-ebs-csi-driver/component_test.go index 608a30fcb..7c1362260 100644 --- a/pkg/components/aws-ebs-csi-driver/component_test.go +++ b/pkg/components/aws-ebs-csi-driver/component_test.go @@ -28,7 +28,7 @@ func TestStorageClassEmptyConfig(t *testing.T) { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -67,7 +67,7 @@ func TestStorageClassEnabled(t *testing.T) { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -106,7 +106,7 @@ func TestStorageClassDisabled(t *testing.T) { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/cert-manager/component.go b/pkg/components/cert-manager/component.go index b1974da75..5adb6bcdb 100644 --- a/pkg/components/cert-manager/component.go +++ b/pkg/components/cert-manager/component.go @@ -26,10 +26,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "cert-manager" +const ( + // Name represents cert-manager component name as it should be referenced in function calls + // and in configuration. + Name = "cert-manager" +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -75,7 +79,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -85,7 +89,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Namespace, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Namespace, values) if err != nil { return nil, fmt.Errorf("rendering chart: %w", err) } @@ -95,7 +99,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, Labels: map[string]string{ diff --git a/pkg/components/cluster-autoscaler/component.go b/pkg/components/cluster-autoscaler/component.go index a425fd673..891ef8bc3 100644 --- a/pkg/components/cluster-autoscaler/component.go +++ b/pkg/components/cluster-autoscaler/component.go @@ -31,9 +31,12 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "cluster-autoscaler" +const ( + // Name represents cluster-autoscaler component name as it should be referenced in function calls + // and in configuration. + Name = "cluster-autoscaler" -const chartValuesTmpl = ` + chartValuesTmpl = ` cloudProvider: {{ .Provider }} nodeSelector: node.kubernetes.io/controller: "true" @@ -73,9 +76,10 @@ serviceMonitor: release: prometheus-operator {{ end }} ` +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -345,7 +349,7 @@ func (c *component) validatePacket(diagnostics hcl.Diagnostics) hcl.Diagnostics } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -375,12 +379,12 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template: %w", err) } - return util.RenderChart(helmChart, name, c.Namespace, values) + return util.RenderChart(helmChart, Name, c.Namespace, values) } func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/cluster-autoscaler/component_test.go b/pkg/components/cluster-autoscaler/component_test.go index d05e3a697..caa7a05cc 100644 --- a/pkg/components/cluster-autoscaler/component_test.go +++ b/pkg/components/cluster-autoscaler/component_test.go @@ -40,7 +40,7 @@ func TestEmptyBody(t *testing.T) { config := `component "cluster-autoscaler" {}` - body, diagnostics := util.GetComponentBody(config, name) + body, diagnostics := util.GetComponentBody(config, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -66,7 +66,7 @@ func TestRender(t *testing.T) { } ` - body, diagnostics := util.GetComponentBody(config, name) + body, diagnostics := util.GetComponentBody(config, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/contour/component.go b/pkg/components/contour/component.go index 41feb6818..d2365b3da 100644 --- a/pkg/components/contour/component.go +++ b/pkg/components/contour/component.go @@ -27,13 +27,16 @@ import ( ) const ( - name = "contour" + // Name represents Contour component name as it should be referenced in function calls + // and in configuration. + Name = "contour" + serviceTypeNodePort = "NodePort" serviceTypeLoadBalancer = "LoadBalancer" ) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } // This annotation is added to Envoy service. @@ -79,7 +82,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -100,7 +103,7 @@ func (c *component) RenderManifests() (map[string]string, error) { } // Generate YAML for the Contour deployment. - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -110,7 +113,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: "projectcontour", }, diff --git a/pkg/components/contour/component_test.go b/pkg/components/contour/component_test.go index dde3d6217..3bfd85450 100644 --- a/pkg/components/contour/component_test.go +++ b/pkg/components/contour/component_test.go @@ -64,7 +64,7 @@ component "contour" { } for _, tc := range tests { - b, d := util.GetComponentBody(tc.hcl, name) + b, d := util.GetComponentBody(tc.hcl, Name) if d != nil { t.Errorf("%s - Error getting component body: %v", tc.desc, d) } diff --git a/pkg/components/dex/component.go b/pkg/components/dex/component.go index 4607b8d05..9bddbf7c7 100644 --- a/pkg/components/dex/component.go +++ b/pkg/components/dex/component.go @@ -27,10 +27,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "dex" +const ( + // Name represents Dex component name as it should be referenced in function calls + // and in configuration. + Name = "dex" +) func init() { //nolint:gochecknoinits - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type org struct { @@ -105,7 +109,7 @@ func marshalToStr(obj interface{}) (string, error) { } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -141,7 +145,7 @@ func (c *component) RenderManifests() (map[string]string, error) { } // Generate YAML for the dex deployment. - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -151,9 +155,9 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ - Name: name, + Name: Name, }, } } diff --git a/pkg/components/external-dns/component.go b/pkg/components/external-dns/component.go index 36a9b5616..74b11deed 100644 --- a/pkg/components/external-dns/component.go +++ b/pkg/components/external-dns/component.go @@ -27,11 +27,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "external-dns" - -// TODO Currently supporting only AWS Route53. Provide better conditional templates -// when multiple provider support is added. -const chartValuesTmpl = ` +const ( + // Name represents external-dns component name as it should be referenced in function calls + // and in configuration. + Name = "external-dns" + + // TODO Currently supporting only AWS Route53. Provide better conditional templates + // when multiple provider support is added. + chartValuesTmpl = ` provider: aws {{- if .Sources }} sources: @@ -60,9 +63,10 @@ metrics: release: prometheus-operator {{ end }} ` +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } // AwsConfig provides configuration for AWS Route53 DNS. @@ -108,7 +112,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex // RenderManifests renders the helm chart templates with values provided. func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -135,7 +139,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Namespace, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Namespace, values) if err != nil { return nil, fmt.Errorf("rendering chart: %w", err) } @@ -145,7 +149,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/external-dns/component_test.go b/pkg/components/external-dns/component_test.go index 9b71a4ef1..433705b40 100644 --- a/pkg/components/external-dns/component_test.go +++ b/pkg/components/external-dns/component_test.go @@ -35,7 +35,7 @@ func TestEmptyConfig(t *testing.T) { func TestEmptyBody(t *testing.T) { c := newComponent() config := `component "external-dns" {}` - body, diagnostics := util.GetComponentBody(config, name) + body, diagnostics := util.GetComponentBody(config, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -81,7 +81,7 @@ func TestAwsConfigWithoutProvidingCredentials(t *testing.T) { os.Unsetenv("AWS_ACCESS_KEY_ID") os.Unsetenv("AWS_SECRET_ACCESS_KEY") - body, diagnostics := util.GetComponentBody(config, name) + body, diagnostics := util.GetComponentBody(config, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -114,7 +114,8 @@ func TestAwsConfigBySettingEnvVariables(t *testing.T) { if err := os.Setenv("AWS_SECRET_ACCESS_KEY", "TESTSECRETACCESSKEY"); err != nil { t.Fatalf("Error setting env variable: %s", err) } - body, diagnostics := util.GetComponentBody(config, name) + + body, diagnostics := util.GetComponentBody(config, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -153,7 +154,8 @@ func TestAwsConfigBySettingEmptyEnvVariables(t *testing.T) { if err != nil { t.Fatalf("Error setting env variable: %s", err) } - body, diagnostics := util.GetComponentBody(config, name) + + body, diagnostics := util.GetComponentBody(config, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -182,7 +184,7 @@ func TestAwsConfigBySettingConfigFields(t *testing.T) { } } ` - body, diagnostics := util.GetComponentBody(config, name) + body, diagnostics := util.GetComponentBody(config, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/flatcar-linux-update-operator/component.go b/pkg/components/flatcar-linux-update-operator/component.go index cef740285..705ed2c18 100644 --- a/pkg/components/flatcar-linux-update-operator/component.go +++ b/pkg/components/flatcar-linux-update-operator/component.go @@ -25,10 +25,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "flatcar-linux-update-operator" +const ( + // Name represents Flatcar Linux Update Operator component name as it should be referenced in function calls + // and in configuration. + Name = "flatcar-linux-update-operator" +) func init() { - components.Register(name, &component{}) + components.Register(Name, &component{}) } type component struct{} @@ -42,17 +46,17 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("loading chart from assets: %w", err) } - return util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, "") + return util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, "") } func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: "reboot-coordinator", }, diff --git a/pkg/components/flatcar-linux-update-operator/component_test.go b/pkg/components/flatcar-linux-update-operator/component_test.go index 6d80540ea..675c88959 100644 --- a/pkg/components/flatcar-linux-update-operator/component_test.go +++ b/pkg/components/flatcar-linux-update-operator/component_test.go @@ -29,7 +29,7 @@ component "flatcar-linux-update-operator" {} component := &component{} - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/gangway/component.go b/pkg/components/gangway/component.go index 2071ebda9..a576577cf 100644 --- a/pkg/components/gangway/component.go +++ b/pkg/components/gangway/component.go @@ -26,10 +26,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "gangway" +const ( + // Name represents Gangway component name as it should be referenced in function calls + // and in configuration. + Name = "gangway" +) func init() { //nolint:gochecknoinits - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -62,7 +66,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -73,7 +77,7 @@ func (c *component) RenderManifests() (map[string]string, error) { } // Generate YAML for the gangway deployment. - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -83,9 +87,9 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ - Name: name, + Name: Name, }, } } diff --git a/pkg/components/httpbin/component.go b/pkg/components/httpbin/component.go index 2d2bd5f9d..97b41d803 100644 --- a/pkg/components/httpbin/component.go +++ b/pkg/components/httpbin/component.go @@ -26,10 +26,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "httpbin" +const ( + // Name represents httpbin component name as it should be referenced in function calls + // and in configuration. + Name = "httpbin" +) func init() { //nolint:gochecknoinits - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -54,7 +58,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -65,7 +69,7 @@ func (c *component) RenderManifests() (map[string]string, error) { } // Generate YAML for the httpbin deployment. - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -75,9 +79,9 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ - Name: name, + Name: Name, }, } } diff --git a/pkg/components/inspektor-gadget/component.go b/pkg/components/inspektor-gadget/component.go index 30e48e82e..a064c7bcf 100644 --- a/pkg/components/inspektor-gadget/component.go +++ b/pkg/components/inspektor-gadget/component.go @@ -26,11 +26,15 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "inspektor-gadget" +const ( + // Name represents Inspektor Gadget component name as it should be referenced in function calls + // and in configuration. + Name = "inspektor-gadget" +) //nolint:gochecknoinits func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -58,7 +62,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex // RenderManifests renders the Helm chart templates with values provided. func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -68,7 +72,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template failed: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -78,7 +82,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/istio-operator/component.go b/pkg/components/istio-operator/component.go index f6a69bbc6..13c772488 100644 --- a/pkg/components/istio-operator/component.go +++ b/pkg/components/istio-operator/component.go @@ -27,13 +27,16 @@ import ( ) const ( - name = "experimental-istio-operator" + // Name represents Istio Operator component name as it should be referenced in function calls + // and in configuration. + Name = "experimental-istio-operator" + namespace = "istio-operator" ) //nolint:gochecknoinits func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -75,7 +78,7 @@ func (c *component) RenderManifests() (map[string]string, error) { } // Generate YAML for the istio deployment. - renderedFiles, err := util.RenderChart(helmChart, name, namespace, values) + renderedFiles, err := util.RenderChart(helmChart, Name, namespace, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -85,7 +88,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: namespace, Labels: map[string]string{ diff --git a/pkg/components/istio-operator/component_test.go b/pkg/components/istio-operator/component_test.go index 45f4efa98..f22265ef3 100644 --- a/pkg/components/istio-operator/component_test.go +++ b/pkg/components/istio-operator/component_test.go @@ -52,7 +52,7 @@ func TestConversion(t *testing.T) { t.Parallel() component := newComponent() - m := testutil.RenderManifests(t, component, name, tc.inputConfig) + m := testutil.RenderManifests(t, component, Name, tc.inputConfig) gotConfig := testutil.ConfigFromMap(t, m, tc.expectedManifestName) testutil.MatchJSONPathStringValue(t, gotConfig, tc.jsonPath, tc.expected) @@ -66,6 +66,6 @@ func TestVerifyServiceMonitor(t *testing.T) { }` component := newComponent() - m := testutil.RenderManifests(t, component, name, inputConfig) + m := testutil.RenderManifests(t, component, Name, inputConfig) testutil.ConfigFromMap(t, m, "istio-operator/templates/service-monitor.yaml") } diff --git a/pkg/components/metallb/component.go b/pkg/components/metallb/component.go index 420b22b52..d8db6dd8c 100644 --- a/pkg/components/metallb/component.go +++ b/pkg/components/metallb/component.go @@ -26,10 +26,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "metallb" +const ( + // Name represents MetalLB component name as it should be referenced in function calls + // and in configuration. + Name = "metallb" +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -137,7 +141,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: "metallb-system", }, diff --git a/pkg/components/metallb/component_test.go b/pkg/components/metallb/component_test.go index b898b92a3..165c93c00 100644 --- a/pkg/components/metallb/component_test.go +++ b/pkg/components/metallb/component_test.go @@ -39,7 +39,7 @@ func TestEmptyConfig(t *testing.T) { func renderManifest(t *testing.T, configHCL string) map[string]string { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/metrics-server/component.go b/pkg/components/metrics-server/component.go index 596da5576..e6632e6bb 100644 --- a/pkg/components/metrics-server/component.go +++ b/pkg/components/metrics-server/component.go @@ -26,7 +26,11 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "metrics-server" +const ( + // Name represents metrics-server component name as it should be referenced in function calls + // and in configuration. + Name = "metrics-server" +) // * --kubelet-preferred-address-types=InternalIP to be able to properly the kubelet. // I am not sure why this option is needed, but tried the alternatives @@ -49,7 +53,7 @@ args: ` func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -71,7 +75,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -81,7 +85,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Namespace, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Namespace, values) if err != nil { return nil, fmt.Errorf("rendering chart: %w", err) } @@ -91,7 +95,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/metrics-server/component_test.go b/pkg/components/metrics-server/component_test.go index d8670c812..79774cdda 100644 --- a/pkg/components/metrics-server/component_test.go +++ b/pkg/components/metrics-server/component_test.go @@ -39,7 +39,7 @@ component "metrics-server" {} component := &component{} - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/openebs-operator/component.go b/pkg/components/openebs-operator/component.go index 543077f9d..9eea0318b 100644 --- a/pkg/components/openebs-operator/component.go +++ b/pkg/components/openebs-operator/component.go @@ -26,10 +26,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "openebs-operator" +const ( + // Name represents OpenEBS Operator component name as it should be referenced in function calls + // and in configuration. + Name = "openebs-operator" +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -98,7 +102,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -108,7 +112,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("render chart values template: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("render chart: %w", err) } @@ -118,7 +122,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: "openebs", }, diff --git a/pkg/components/openebs-storage-class/component.go b/pkg/components/openebs-storage-class/component.go index e4aab70af..0bab6d9a8 100644 --- a/pkg/components/openebs-storage-class/component.go +++ b/pkg/components/openebs-storage-class/component.go @@ -27,12 +27,15 @@ import ( ) const ( - name = "openebs-storage-class" + // Name represents OpenEBS Storage Class component name as it should be referenced in function calls + // and in configuration. + Name = "openebs-storage-class" + poolName = "openebs-storage-pool" ) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type Storageclass struct { @@ -107,7 +110,7 @@ func (c *component) validateConfig() error { // TODO: Convert to Helm chart. func (c *component) RenderManifests() (map[string]string, error) { - scTmpl, err := template.New(name).Parse(storageClassTmpl) + scTmpl, err := template.New(Name).Parse(storageClassTmpl) if err != nil { return nil, fmt.Errorf("parsing storage class template: %w", err) } @@ -127,7 +130,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("executing storage class %q template: %w", sc.Name, err) } - filename := fmt.Sprintf("%s-%s.yml", name, sc.Name) + filename := fmt.Sprintf("%s-%s.yml", Name, sc.Name) manifestsMap[filename] = scBuffer.String() if err := spTmpl.Execute(&spBuffer, sc); err != nil { @@ -143,7 +146,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, // Return the same namespace which the openebs-operator component is using. Namespace: k8sutil.Namespace{ Name: "openebs", diff --git a/pkg/components/openebs-storage-class/component_test.go b/pkg/components/openebs-storage-class/component_test.go index 613fd0448..406ad3951 100644 --- a/pkg/components/openebs-storage-class/component_test.go +++ b/pkg/components/openebs-storage-class/component_test.go @@ -70,7 +70,7 @@ func TestUserInputValues(t *testing.T) { func testRenderManifest(t *testing.T, configHCL string) { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/prometheus-operator/component.go b/pkg/components/prometheus-operator/component.go index 2989a16f7..3c9fc1128 100644 --- a/pkg/components/prometheus-operator/component.go +++ b/pkg/components/prometheus-operator/component.go @@ -28,10 +28,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "prometheus-operator" +const ( + // Name represents Prometheus Operator component name as it should be referenced in function calls + // and in configuration. + Name = "prometheus-operator" +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } // Monitor holds information about which Kubernetes components should be monitored with the default Prometheus instance. @@ -192,7 +196,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -202,7 +206,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Namespace, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Namespace, values) if err != nil { return nil, fmt.Errorf("rendering chart: %w", err) } @@ -212,7 +216,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/prometheus-operator/component_test.go b/pkg/components/prometheus-operator/component_test.go index a89857cc5..873dba031 100644 --- a/pkg/components/prometheus-operator/component_test.go +++ b/pkg/components/prometheus-operator/component_test.go @@ -96,7 +96,7 @@ component "prometheus-operator" { for _, tc := range tests { tc := tc t.Run(tc.desc, func(t *testing.T) { - b, d := util.GetComponentBody(tc.hcl, name) + b, d := util.GetComponentBody(tc.hcl, Name) if d != nil { t.Fatalf("error getting component body: %v", d) } @@ -209,7 +209,7 @@ providers: t.Parallel() component := newComponent() - m := testutil.RenderManifests(t, component, name, tc.inputConfig) + m := testutil.RenderManifests(t, component, Name, tc.inputConfig) gotConfig := testutil.ConfigFromMap(t, m, tc.expectedManifestName) testutil.MatchJSONPathStringValue(t, gotConfig, tc.jsonPath, tc.expected) diff --git a/pkg/components/rook-ceph/component.go b/pkg/components/rook-ceph/component.go index e407b15fc..7b1b5c884 100644 --- a/pkg/components/rook-ceph/component.go +++ b/pkg/components/rook-ceph/component.go @@ -26,10 +26,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "rook-ceph" +const ( + // Name represents Rook Ceph component name as it should be referenced in function calls + // and in configuration. + Name = "rook-ceph" +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -91,7 +95,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/rook-ceph/component_test.go b/pkg/components/rook-ceph/component_test.go index 0a8bb938e..cb46b44a9 100644 --- a/pkg/components/rook-ceph/component_test.go +++ b/pkg/components/rook-ceph/component_test.go @@ -64,7 +64,7 @@ component "rook-ceph" { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } diff --git a/pkg/components/rook/component.go b/pkg/components/rook/component.go index e6e536788..adc7c1f7d 100644 --- a/pkg/components/rook/component.go +++ b/pkg/components/rook/component.go @@ -27,10 +27,14 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "rook" +const ( + // Name represents Rook component name as it should be referenced in function calls + // and in configuration. + Name = "rook" +) func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type component struct { @@ -66,7 +70,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex } func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -95,7 +99,7 @@ func (c *component) RenderManifests() (map[string]string, error) { } // Generate YAML for the Rook operator deployment. - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart failed: %w", err) } @@ -105,7 +109,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/velero/component.go b/pkg/components/velero/component.go index c7afe9a02..ed8302bd3 100644 --- a/pkg/components/velero/component.go +++ b/pkg/components/velero/component.go @@ -30,11 +30,15 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "velero" +const ( + // Name represents Velero component name as it should be referenced in function calls + // and in configuration. + Name = "velero" +) // init registers velero component to components list, so it shows up as available to install func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } // component represents component configuration data @@ -119,7 +123,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex // RenderManifest read helm chart from assets and renders it into list of files func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -129,7 +133,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("getting values: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Namespace, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Namespace, values) if err != nil { return nil, fmt.Errorf("rendering chart: %w", err) } @@ -214,7 +218,7 @@ func (c *component) getProvider() (provider, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, }, diff --git a/pkg/components/velero/component_test.go b/pkg/components/velero/component_test.go index fc922b67b..6740563c1 100644 --- a/pkg/components/velero/component_test.go +++ b/pkg/components/velero/component_test.go @@ -55,7 +55,7 @@ component "velero" { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -99,7 +99,7 @@ component "velero" { component := newComponent() - body, diagnostics := util.GetComponentBody(configHCL, name) + body, diagnostics := util.GetComponentBody(configHCL, Name) if diagnostics != nil { t.Fatalf("Error getting component body: %v", diagnostics) } @@ -129,7 +129,7 @@ component "velero" { component := newComponent() - body, d := util.GetComponentBody(configHCL, name) + body, d := util.GetComponentBody(configHCL, Name) if d != nil { t.Fatalf("Error getting component body: %v", d) } @@ -146,7 +146,7 @@ component "velero" {} component := newComponent() - body, d := util.GetComponentBody(configHCL, name) + body, d := util.GetComponentBody(configHCL, Name) if d != nil { t.Fatalf("Error getting component body: %v", d) } @@ -172,7 +172,7 @@ component "velero" { component := newComponent() - body, d := util.GetComponentBody(configHCL, name) + body, d := util.GetComponentBody(configHCL, Name) if d != nil { t.Fatalf("Error getting component body: %v", d) } diff --git a/pkg/components/web-ui/component.go b/pkg/components/web-ui/component.go index 32abdb3fa..9faeedfb7 100644 --- a/pkg/components/web-ui/component.go +++ b/pkg/components/web-ui/component.go @@ -27,11 +27,15 @@ import ( "github.com/kinvolk/lokomotive/pkg/k8sutil" ) -const name = "web-ui" +const ( + // Name represents Web UI component name as it should be referenced in function calls + // and in configuration. + Name = "web-ui" +) //nolint:gochecknoinits func init() { - components.Register(name, newComponent()) + components.Register(Name, newComponent()) } type oidc struct { @@ -73,7 +77,7 @@ func (c *component) LoadConfig(configBody *hcl.Body, evalContext *hcl.EvalContex // RenderManifests renders the Helm chart templates with values provided. func (c *component) RenderManifests() (map[string]string, error) { - helmChart, err := components.Chart(name) + helmChart, err := components.Chart(Name) if err != nil { return nil, fmt.Errorf("retrieving chart from assets: %w", err) } @@ -83,7 +87,7 @@ func (c *component) RenderManifests() (map[string]string, error) { return nil, fmt.Errorf("rendering chart values template: %w", err) } - renderedFiles, err := util.RenderChart(helmChart, name, c.Metadata().Namespace.Name, values) + renderedFiles, err := util.RenderChart(helmChart, Name, c.Metadata().Namespace.Name, values) if err != nil { return nil, fmt.Errorf("rendering chart: %w", err) } @@ -93,7 +97,7 @@ func (c *component) RenderManifests() (map[string]string, error) { func (c *component) Metadata() components.Metadata { return components.Metadata{ - Name: name, + Name: Name, Namespace: k8sutil.Namespace{ Name: c.Namespace, },