Skip to content

Commit e4f67db

Browse files
committed
Fix the parsing of probes
1 parent d01a35e commit e4f67db

File tree

1 file changed

+40
-3
lines changed

1 file changed

+40
-3
lines changed

Diff for: generator/labelStructs/probes.go

+40-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package labelStructs
22

33
import (
4+
"encoding/json"
5+
"log"
6+
47
"gopkg.in/yaml.v3"
58
corev1 "k8s.io/api/core/v1"
69
)
@@ -11,9 +14,43 @@ type Probe struct {
1114
}
1215

1316
func ProbeFrom(data string) (*Probe, error) {
14-
var mapping Probe
15-
if err := yaml.Unmarshal([]byte(data), &mapping); err != nil {
17+
mapping := Probe{}
18+
tmp := map[string]any{}
19+
err := yaml.Unmarshal([]byte(data), &tmp)
20+
if err != nil {
1621
return nil, err
1722
}
18-
return &mapping, nil
23+
24+
if livenessProbe, ok := tmp["livenessProbe"]; ok {
25+
livenessProbeBytes, err := json.Marshal(livenessProbe)
26+
if err != nil {
27+
log.Printf("Error marshalling livenessProbe: %v", err)
28+
return nil, err
29+
}
30+
livenessProbe := &corev1.Probe{}
31+
err = json.Unmarshal(livenessProbeBytes, livenessProbe)
32+
if err != nil {
33+
log.Printf("Error unmarshalling livenessProbe: %v", err)
34+
return nil, err
35+
}
36+
mapping.LivenessProbe = livenessProbe
37+
}
38+
39+
if readinessProbe, ok := tmp["readinessProbe"]; ok {
40+
readinessProbeBytes, err := json.Marshal(readinessProbe)
41+
if err != nil {
42+
log.Printf("Error marshalling readinessProbe: %v", err)
43+
return nil, err
44+
}
45+
readinessProbe := &corev1.Probe{}
46+
err = json.Unmarshal(readinessProbeBytes, readinessProbe)
47+
if err != nil {
48+
log.Printf("Error unmarshalling readinessProbe: %v", err)
49+
return nil, err
50+
}
51+
mapping.ReadinessProbe = readinessProbe
52+
53+
}
54+
55+
return &mapping, err
1956
}

0 commit comments

Comments
 (0)