diff --git a/interfacer/src/browsh/raw_text_server.go b/interfacer/src/browsh/raw_text_server.go index d3022298..b1d4b9c3 100644 --- a/interfacer/src/browsh/raw_text_server.go +++ b/interfacer/src/browsh/raw_text_server.go @@ -107,6 +107,11 @@ func handleHTTPServerRequest(w http.ResponseWriter, r *http.Request) { return } } + Log(r.Header.Get("User-Agent")) + if isKubeReadinessProbe(r.Header.Get("User-Agent")) { + io.WriteString(w, "healthy") + return + } if strings.TrimSpace(urlForBrowsh) == "" { if strings.Contains(r.Host, "text.") { message = "Welcome to the Browsh plain text client.\n" + @@ -163,6 +168,14 @@ func isDisallowedUserAgent(userAgent string) bool { return false } +func isKubeReadinessProbe(userAgent string) bool { + r, _ := regexp.Compile("kube-probe") + if r.MatchString(userAgent) { + return true + } + return false +} + func isProductionHTTP(r *http.Request) bool { if strings.Contains(r.Host, "brow.sh") { return r.Header.Get("X-Forwarded-Proto") == "http"