forked from LaconicNetwork/kompose
Add readiness healthcheck generation by label (#1366)
This commit is contained in:
@@ -2,6 +2,8 @@ package testutils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
@@ -24,3 +26,25 @@ func CheckForHeadless(objects []runtime.Object) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// CheckForHealthCheckLivenessAndReadiness check if has liveness and readiness in healthcheck configured.
|
||||
func CheckForHealthCheckLivenessAndReadiness(objects []runtime.Object) error {
|
||||
serviceCreated := false
|
||||
for _, obj := range objects {
|
||||
if deployment, ok := obj.(*appsv1.Deployment); ok {
|
||||
serviceCreated = true
|
||||
|
||||
// Check if it is a headless services
|
||||
if deployment.Spec.Template.Spec.Containers[0].ReadinessProbe == nil {
|
||||
return errors.New("there is not a ReadinessProbe")
|
||||
}
|
||||
if deployment.Spec.Template.Spec.Containers[0].LivenessProbe == nil {
|
||||
return errors.New("there is not a LivenessGate")
|
||||
}
|
||||
}
|
||||
}
|
||||
if !serviceCreated {
|
||||
return errors.New("no Service created")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user