func waitForPodLiveness()

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
}