From b09316b416761c55f99f6318da95fb0075d0b981 Mon Sep 17 00:00:00 2001 From: Patrice Ferlet Date: Sat, 9 Nov 2024 14:18:27 +0100 Subject: [PATCH] refactor(yaml): globalize fixups The ToK8SYaml() function makes the job, it's now simpler to manage fixes --- generator/configMap.go | 7 +------ generator/cronJob.go | 7 +------ generator/deployment.go | 8 ++++---- generator/ingress.go | 8 ++++++-- generator/rbac.go | 2 +- generator/secret.go | 7 +++---- generator/service.go | 7 +++---- generator/utils.go | 9 +++++++++ generator/volume.go | 13 ++++++------- 9 files changed, 34 insertions(+), 34 deletions(-) diff --git a/generator/configMap.go b/generator/configMap.go index 15f88e6..f037b3a 100644 --- a/generator/configMap.go +++ b/generator/configMap.go @@ -12,7 +12,6 @@ import ( "github.com/compose-spec/compose-go/types" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/yaml" ) // FileMapUsage is the usage of the filemap. @@ -232,9 +231,5 @@ func (c *ConfigMap) SetData(data map[string]string) { // Yaml returns the yaml representation of the configmap func (c *ConfigMap) Yaml() ([]byte, error) { - if o, err := yaml.Marshal(c); err != nil { - return nil, err - } else { - return UnWrapTPL(o), nil - } + return ToK8SYaml(c) } diff --git a/generator/cronJob.go b/generator/cronJob.go index 2ab5cbd..c6a7328 100644 --- a/generator/cronJob.go +++ b/generator/cronJob.go @@ -10,7 +10,6 @@ import ( batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/yaml" ) // only used to check interface implementation @@ -119,9 +118,5 @@ func (c *CronJob) Filename() string { // // Implements the Yaml interface. func (c *CronJob) Yaml() ([]byte, error) { - if o, err := yaml.Marshal(c); err != nil { - return nil, err - } else { - return UnWrapTPL(o), nil - } + return ToK8SYaml(c) } diff --git a/generator/deployment.go b/generator/deployment.go index a5c83a8..7a20d17 100644 --- a/generator/deployment.go +++ b/generator/deployment.go @@ -15,7 +15,6 @@ import ( appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/yaml" ) var _ Yaml = (*Deployment)(nil) @@ -365,12 +364,13 @@ func (d *Deployment) SetEnvFrom(service types.ServiceConfig, appName string) { // Yaml returns the yaml representation of the deployment. func (d *Deployment) Yaml() ([]byte, error) { + var y []byte + var err error serviceName := d.service.Name - y, err := yaml.Marshal(d) - if err != nil { + + if y, err = ToK8SYaml(d); err != nil { return nil, err } - y = UnWrapTPL(y) // for each volume mount, add a condition "if values has persistence" changing := false diff --git a/generator/ingress.go b/generator/ingress.go index 7d012d4..83debce 100644 --- a/generator/ingress.go +++ b/generator/ingress.go @@ -9,7 +9,6 @@ import ( "github.com/compose-spec/compose-go/types" networkv1 "k8s.io/api/networking/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/yaml" ) var _ Yaml = (*Ingress)(nil) @@ -124,8 +123,13 @@ func (ingress *Ingress) Filename() string { } func (ingress *Ingress) Yaml() ([]byte, error) { + var ret []byte + var err error + if ret, err = ToK8SYaml(ingress); err != nil { + return nil, err + } + serviceName := ingress.service.Name - ret, err := yaml.Marshal(ingress) if err != nil { return nil, err } diff --git a/generator/rbac.go b/generator/rbac.go index 2a773fd..b2495b0 100644 --- a/generator/rbac.go +++ b/generator/rbac.go @@ -139,5 +139,5 @@ func (r *ServiceAccount) Filename() string { } func (r *ServiceAccount) Yaml() ([]byte, error) { - return yaml.Marshal(r) + return ToK8SYaml(r) } diff --git a/generator/secret.go b/generator/secret.go index e8efee3..f6422e3 100644 --- a/generator/secret.go +++ b/generator/secret.go @@ -9,7 +9,6 @@ import ( "github.com/compose-spec/compose-go/types" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/yaml" ) var ( @@ -97,11 +96,11 @@ func (s *Secret) SetData(data map[string]string) { // Yaml returns the yaml representation of the secret. func (s *Secret) Yaml() ([]byte, error) { - y, err := yaml.Marshal(s) - if err != nil { + var y []byte + var err error + if y, err = ToK8SYaml(s); err != nil { return nil, err } - y = UnWrapTPL(y) // replace the b64 value by the real value for _, value := range s.Data { diff --git a/generator/service.go b/generator/service.go index 265a5c6..5573e06 100644 --- a/generator/service.go +++ b/generator/service.go @@ -9,7 +9,6 @@ import ( v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" - "sigs.k8s.io/yaml" ) var _ Yaml = (*Service)(nil) @@ -80,11 +79,11 @@ func (s *Service) Filename() string { // Yaml returns the yaml representation of the service. func (s *Service) Yaml() ([]byte, error) { - y, err := yaml.Marshal(s) - if err != nil { + var y []byte + var err error + if y, err = ToK8SYaml(s); err != nil { return nil, err } - y = UnWrapTPL(y) lines := []string{} for _, line := range strings.Split(string(y), "\n") { diff --git a/generator/utils.go b/generator/utils.go index db96a73..b0f1004 100644 --- a/generator/utils.go +++ b/generator/utils.go @@ -9,6 +9,7 @@ import ( "github.com/compose-spec/compose-go/types" corev1 "k8s.io/api/core/v1" + "sigs.k8s.io/yaml" ) var regexpLineWrap = regexp.MustCompile(`\n\s+}}`) @@ -84,3 +85,11 @@ func isIgnored(service types.ServiceConfig) bool { func UnWrapTPL(in []byte) []byte { return regexpLineWrap.ReplaceAll(in, []byte(" }}")) } + +func ToK8SYaml(obj interface{}) ([]byte, error) { + if o, err := yaml.Marshal(obj); err != nil { + return nil, nil + } else { + return UnWrapTPL(o), nil + } +} diff --git a/generator/volume.go b/generator/volume.go index fa806e0..71711a0 100644 --- a/generator/volume.go +++ b/generator/volume.go @@ -8,7 +8,6 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/yaml" ) const persistenceKey = "persistence" @@ -66,17 +65,17 @@ func (v *VolumeClaim) Filename() string { // Yaml marshals a VolumeClaim into yaml. func (v *VolumeClaim) Yaml() ([]byte, error) { + var out []byte + var err error + if out, err = ToK8SYaml(v); err != nil { + return nil, err + } + serviceName := v.service.Name if v.nameOverride != "" { serviceName = v.nameOverride } volumeName := v.volumeName - out, err := yaml.Marshal(v) - if err != nil { - return nil, err - } - - out = UnWrapTPL(out) // replace 1Gi to {{ .Values.serviceName.volume.size }} out = []byte(