Skip to content

Commit b09316b

Browse files
committed
refactor(yaml): globalize fixups
The ToK8SYaml() function makes the job, it's now simpler to manage fixes
1 parent 9b392a1 commit b09316b

9 files changed

+34
-34
lines changed

generator/configMap.go

+1-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"github.com/compose-spec/compose-go/types"
1313
corev1 "k8s.io/api/core/v1"
1414
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
15-
"sigs.k8s.io/yaml"
1615
)
1716

1817
// FileMapUsage is the usage of the filemap.
@@ -232,9 +231,5 @@ func (c *ConfigMap) SetData(data map[string]string) {
232231

233232
// Yaml returns the yaml representation of the configmap
234233
func (c *ConfigMap) Yaml() ([]byte, error) {
235-
if o, err := yaml.Marshal(c); err != nil {
236-
return nil, err
237-
} else {
238-
return UnWrapTPL(o), nil
239-
}
234+
return ToK8SYaml(c)
240235
}

generator/cronJob.go

+1-6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
batchv1 "k8s.io/api/batch/v1"
1111
corev1 "k8s.io/api/core/v1"
1212
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
13-
"sigs.k8s.io/yaml"
1413
)
1514

1615
// only used to check interface implementation
@@ -119,9 +118,5 @@ func (c *CronJob) Filename() string {
119118
//
120119
// Implements the Yaml interface.
121120
func (c *CronJob) Yaml() ([]byte, error) {
122-
if o, err := yaml.Marshal(c); err != nil {
123-
return nil, err
124-
} else {
125-
return UnWrapTPL(o), nil
126-
}
121+
return ToK8SYaml(c)
127122
}

generator/deployment.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
appsv1 "k8s.io/api/apps/v1"
1616
corev1 "k8s.io/api/core/v1"
1717
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
18-
"sigs.k8s.io/yaml"
1918
)
2019

2120
var _ Yaml = (*Deployment)(nil)
@@ -365,12 +364,13 @@ func (d *Deployment) SetEnvFrom(service types.ServiceConfig, appName string) {
365364

366365
// Yaml returns the yaml representation of the deployment.
367366
func (d *Deployment) Yaml() ([]byte, error) {
367+
var y []byte
368+
var err error
368369
serviceName := d.service.Name
369-
y, err := yaml.Marshal(d)
370-
if err != nil {
370+
371+
if y, err = ToK8SYaml(d); err != nil {
371372
return nil, err
372373
}
373-
y = UnWrapTPL(y)
374374

375375
// for each volume mount, add a condition "if values has persistence"
376376
changing := false

generator/ingress.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"github.com/compose-spec/compose-go/types"
1010
networkv1 "k8s.io/api/networking/v1"
1111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12-
"sigs.k8s.io/yaml"
1312
)
1413

1514
var _ Yaml = (*Ingress)(nil)
@@ -124,8 +123,13 @@ func (ingress *Ingress) Filename() string {
124123
}
125124

126125
func (ingress *Ingress) Yaml() ([]byte, error) {
126+
var ret []byte
127+
var err error
128+
if ret, err = ToK8SYaml(ingress); err != nil {
129+
return nil, err
130+
}
131+
127132
serviceName := ingress.service.Name
128-
ret, err := yaml.Marshal(ingress)
129133
if err != nil {
130134
return nil, err
131135
}

generator/rbac.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,5 +139,5 @@ func (r *ServiceAccount) Filename() string {
139139
}
140140

141141
func (r *ServiceAccount) Yaml() ([]byte, error) {
142-
return yaml.Marshal(r)
142+
return ToK8SYaml(r)
143143
}

generator/secret.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"github.com/compose-spec/compose-go/types"
1010
corev1 "k8s.io/api/core/v1"
1111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12-
"sigs.k8s.io/yaml"
1312
)
1413

1514
var (
@@ -97,11 +96,11 @@ func (s *Secret) SetData(data map[string]string) {
9796

9897
// Yaml returns the yaml representation of the secret.
9998
func (s *Secret) Yaml() ([]byte, error) {
100-
y, err := yaml.Marshal(s)
101-
if err != nil {
99+
var y []byte
100+
var err error
101+
if y, err = ToK8SYaml(s); err != nil {
102102
return nil, err
103103
}
104-
y = UnWrapTPL(y)
105104

106105
// replace the b64 value by the real value
107106
for _, value := range s.Data {

generator/service.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
v1 "k8s.io/api/core/v1"
1010
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1111
"k8s.io/apimachinery/pkg/util/intstr"
12-
"sigs.k8s.io/yaml"
1312
)
1413

1514
var _ Yaml = (*Service)(nil)
@@ -80,11 +79,11 @@ func (s *Service) Filename() string {
8079

8180
// Yaml returns the yaml representation of the service.
8281
func (s *Service) Yaml() ([]byte, error) {
83-
y, err := yaml.Marshal(s)
84-
if err != nil {
82+
var y []byte
83+
var err error
84+
if y, err = ToK8SYaml(s); err != nil {
8585
return nil, err
8686
}
87-
y = UnWrapTPL(y)
8887

8988
lines := []string{}
9089
for _, line := range strings.Split(string(y), "\n") {

generator/utils.go

+9
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
"github.com/compose-spec/compose-go/types"
1111
corev1 "k8s.io/api/core/v1"
12+
"sigs.k8s.io/yaml"
1213
)
1314

1415
var regexpLineWrap = regexp.MustCompile(`\n\s+}}`)
@@ -84,3 +85,11 @@ func isIgnored(service types.ServiceConfig) bool {
8485
func UnWrapTPL(in []byte) []byte {
8586
return regexpLineWrap.ReplaceAll(in, []byte(" }}"))
8687
}
88+
89+
func ToK8SYaml(obj interface{}) ([]byte, error) {
90+
if o, err := yaml.Marshal(obj); err != nil {
91+
return nil, nil
92+
} else {
93+
return UnWrapTPL(o), nil
94+
}
95+
}

generator/volume.go

+6-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
v1 "k8s.io/api/core/v1"
99
"k8s.io/apimachinery/pkg/api/resource"
1010
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11-
"sigs.k8s.io/yaml"
1211
)
1312

1413
const persistenceKey = "persistence"
@@ -66,17 +65,17 @@ func (v *VolumeClaim) Filename() string {
6665

6766
// Yaml marshals a VolumeClaim into yaml.
6867
func (v *VolumeClaim) Yaml() ([]byte, error) {
68+
var out []byte
69+
var err error
70+
if out, err = ToK8SYaml(v); err != nil {
71+
return nil, err
72+
}
73+
6974
serviceName := v.service.Name
7075
if v.nameOverride != "" {
7176
serviceName = v.nameOverride
7277
}
7378
volumeName := v.volumeName
74-
out, err := yaml.Marshal(v)
75-
if err != nil {
76-
return nil, err
77-
}
78-
79-
out = UnWrapTPL(out)
8079

8180
// replace 1Gi to {{ .Values.serviceName.volume.size }}
8281
out = []byte(

0 commit comments

Comments
 (0)