in projects/aws/bottlerocket-bootstrap/pkg/utils/waiters.go [177:199]
func waitForPodLiveness(podDefinition *v1.Pod) error {
for _, container := range podDefinition.Spec.Containers {
// Validate if liveness probe exists on the definition
if container.LivenessProbe != nil {
livenessProbeHandler := container.LivenessProbe.HTTPGet
scheme := ""
if livenessProbeHandler.Scheme != "" {
scheme = string(livenessProbeHandler.Scheme)
} else {
scheme = "http"
}
url := fmt.Sprintf("%s://%s:%d%s", scheme, livenessProbeHandler.Host, livenessProbeHandler.Port.IntVal, livenessProbeHandler.Path)
fmt.Printf("Waiting for probe check on pod: %s\n", podDefinition.Name)
err := WaitFor200(url, 5*time.Minute)
if err != nil {
return errors.Wrap(err, "Error waiting for 200 OK")
}
}
}
return nil
}