Skip to content

Commit b7d0624

Browse files
fix: convertkusionprobetov1probe
1 parent ed07c4e commit b7d0624

File tree

2 files changed

+108
-5
lines changed

2 files changed

+108
-5
lines changed

pkg/modules/generators/workload/service_generator_test.go

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,54 @@ spec:
157157
name: default-dev-foo-nginx-0
158158
name: default-dev-foo-nginx-0
159159
status: {}
160+
`
161+
deployWithProbe := `apiVersion: apps/v1
162+
kind: Deployment
163+
metadata:
164+
creationTimestamp: null
165+
labels:
166+
app.kubernetes.io/name: foo
167+
app.kubernetes.io/part-of: default
168+
service-workload-type: Deployment
169+
name: default-dev-foo
170+
namespace: default
171+
spec:
172+
replicas: 4
173+
selector:
174+
matchLabels:
175+
app.kubernetes.io/name: foo
176+
app.kubernetes.io/part-of: default
177+
strategy: {}
178+
template:
179+
metadata:
180+
creationTimestamp: null
181+
labels:
182+
app.kubernetes.io/name: foo
183+
app.kubernetes.io/part-of: default
184+
service-workload-type: Deployment
185+
spec:
186+
containers:
187+
- image: nginx:v1
188+
lifecycle:
189+
postStart:
190+
exec:
191+
command:
192+
- /bin/true
193+
name: nginx
194+
readinessProbe:
195+
tcp:
196+
host: "localhost"
197+
port: 8888
198+
resources: {}
199+
volumeMounts:
200+
- mountPath: /tmp
201+
name: default-dev-foo-nginx-0
202+
volumes:
203+
- configMap:
204+
defaultMode: 511
205+
name: default-dev-foo-nginx-0
206+
name: default-dev-foo-nginx-0
207+
status: {}
160208
`
161209
r2 := new(int32)
162210
*r2 = 2
@@ -263,6 +311,61 @@ status: {}
263311
wantErr: false,
264312
want: []string{cm, deploy, deploySvc},
265313
},
314+
{
315+
name: "DeploymentWithProbe",
316+
fields: fields{
317+
project: "default",
318+
stack: "dev",
319+
appName: "foo",
320+
service: &v1.Service{
321+
Base: v1.Base{
322+
Containers: map[string]v1.Container{
323+
"nginx": {
324+
Image: "nginx:v1",
325+
Files: map[string]v1.FileSpec{
326+
"/tmp/example.txt": {
327+
Content: "some file contents",
328+
Mode: "0777",
329+
},
330+
},
331+
ReadinessProbe: &v1.Probe{ProbeHandler: &v1.ProbeHandler{
332+
TypeWrapper: v1.TypeWrapper{Type: v1.TypeTCP},
333+
ExecAction: nil,
334+
HTTPGetAction: nil,
335+
TCPSocketAction: &v1.TCPSocketAction{URL: "localhost:8888"},
336+
}},
337+
Lifecycle: &v1.Lifecycle{
338+
PostStart: &v1.LifecycleHandler{
339+
TypeWrapper: v1.TypeWrapper{Type: v1.TypeExec},
340+
ExecAction: &v1.ExecAction{Command: []string{
341+
"/bin/true",
342+
}},
343+
HTTPGetAction: nil,
344+
},
345+
},
346+
},
347+
},
348+
},
349+
Ports: []v1.Port{
350+
{
351+
Port: 80,
352+
Protocol: "TCP",
353+
},
354+
},
355+
},
356+
serviceConfig: v1.GenericConfig{
357+
"replicas": 4,
358+
"labels": v1.GenericConfig{
359+
"service-workload-type": "Deployment",
360+
},
361+
},
362+
},
363+
args: args{
364+
spec: &v1.Spec{},
365+
},
366+
wantErr: false,
367+
want: []string{cm, deployWithProbe, deploySvc},
368+
},
266369
}
267370
for _, tt := range tests {
268371
t.Run(tt.name, func(t *testing.T) {

pkg/modules/generators/workload/workload_generator.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,15 +253,15 @@ func convertKusionProbeToV1Probe(p *v1.Probe) (*corev1.Probe, error) {
253253
}
254254
probeHandler := p.ProbeHandler
255255
switch probeHandler.Type {
256-
case "Http":
256+
case v1.TypeHTTP:
257257
action, err := httpGetAction(probeHandler.HTTPGetAction.URL, probeHandler.Headers)
258258
if err != nil {
259259
return nil, err
260260
}
261261
result.HTTPGet = action
262-
case "Exec":
262+
case v1.TypeExec:
263263
result.Exec = &corev1.ExecAction{Command: probeHandler.Command}
264-
case "Tcp":
264+
case v1.TypeTCP:
265265
action, err := tcpSocketAction(probeHandler.TCPSocketAction.URL)
266266
if err != nil {
267267
return nil, err
@@ -294,13 +294,13 @@ func convertKusionLifecycleToV1Lifecycle(l *v1.Lifecycle) (*corev1.Lifecycle, er
294294
func lifecycleHandler(in *v1.LifecycleHandler) (*corev1.LifecycleHandler, error) {
295295
result := &corev1.LifecycleHandler{}
296296
switch in.Type {
297-
case "Http":
297+
case v1.TypeHTTP:
298298
action, err := httpGetAction(in.HTTPGetAction.URL, in.Headers)
299299
if err != nil {
300300
return nil, err
301301
}
302302
result.HTTPGet = action
303-
case "Exec":
303+
case v1.TypeExec:
304304
result.Exec = &corev1.ExecAction{Command: in.Command}
305305
}
306306
return result, nil

0 commit comments

Comments
 (0)