in images/controller/cmd/reservation_broker/reservation_broker.go [557:586]
func getAppStatus(w http.ResponseWriter, app broker.AppConfigSpec, appCtx *AppContext, user, username string) (int, string) {
statusCode := http.StatusOK
msg := ""
instanceID := fmt.Sprintf("%s-%s", app.Name, broker.MakePodID(user))
selector := fmt.Sprintf("app.kubernetes.io/instance=%s", instanceID)
status, err := broker.GetPodStatus(app.Name, selector)
if err != nil {
log.Printf("failed to get pod status for selector: %s: %v", selector, err)
statusCode = http.StatusInternalServerError
msg = "error fetching status"
return statusCode, msg
}
msg = status.Status
if status.Status == "waiting" {
statusCode = http.StatusCreated
}
if status.Status == "ready" {
statusCode = http.StatusOK
cookieName := fmt.Sprintf("broker_%s", app.Name)
cookieValue := broker.MakeCookieValue(user, appCtx.CookieSecret)
appPath := fmt.Sprintf("/%s/", app.Name)
broker.SetCookie(w, cookieName, cookieValue, appPath, maxCookieAgeSeconds)
}
return statusCode, msg
}