From 2ac7d1a428a7f00c2b1832ac439c7e546260d66f Mon Sep 17 00:00:00 2001 From: Ethan Mosbaugh Date: Tue, 4 Aug 2020 17:59:29 +0000 Subject: [PATCH] Diff renderedcontents handler return error response on failed kustomize build --- kotsadm/pkg/handlers/rendered_contents.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/kotsadm/pkg/handlers/rendered_contents.go b/kotsadm/pkg/handlers/rendered_contents.go index ba70434184..90bb136f1d 100644 --- a/kotsadm/pkg/handlers/rendered_contents.go +++ b/kotsadm/pkg/handlers/rendered_contents.go @@ -17,6 +17,14 @@ import ( "github.com/replicatedhq/kots/kotsadm/pkg/version" ) +type GetAppRenderedContentsResponse struct { + Files map[string]string `json:"files"` +} + +type GetAppRenderedContentsErrorResponse struct { + Error string `json:"error"` +} + func GetAppRenderedContents(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Headers", "content-type, origin, accept, authorization") @@ -88,6 +96,13 @@ func GetAppRenderedContents(w http.ResponseWriter, r *http.Request) { if err != nil { if ee, ok := err.(*exec.ExitError); ok { err = fmt.Errorf("kustomize stderr: %q", string(ee.Stderr)) + logger.Error(err) + + JSON(w, 500, GetAppRenderedContentsErrorResponse{ + Error: fmt.Sprintf("Failed to build release: %v", err), + }) + return + } logger.Error(err) w.WriteHeader(500) @@ -106,5 +121,7 @@ func GetAppRenderedContents(w http.ResponseWriter, r *http.Request) { for filename, b := range archiveFiles { decodedArchiveFiles[filename] = string(b) } - JSON(w, 200, map[string]interface{}{"files": decodedArchiveFiles}) + JSON(w, 200, GetAppRenderedContentsResponse{ + Files: decodedArchiveFiles, + }) }