Add readiness healthcheck generation by label (#1366)

This commit is contained in:
João Vitor Paes de Barros do Carmo
2021-03-17 18:02:50 +08:00
committed by GitHub
parent 76565d80b2
commit 0036f0c32b
6 changed files with 184 additions and 10 deletions
+24
View File
@@ -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
}