From 2e1e2700d78843b8b3c4560708df4a7cfb91d0a3 Mon Sep 17 00:00:00 2001 From: Carlos Panato Date: Wed, 28 Jul 2021 14:43:35 +0200 Subject: [PATCH] rekor-server: add html page when humans reach the server via the browser Signed-off-by: Carlos Panato --- .../restapi/configure_rekor_server.go | 19 ++++++++++++ pkg/generated/restapi/rekorHomePage.html | 30 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 pkg/generated/restapi/rekorHomePage.html diff --git a/pkg/generated/restapi/configure_rekor_server.go b/pkg/generated/restapi/configure_rekor_server.go index 4e83ce106..ab0ffbeec 100644 --- a/pkg/generated/restapi/configure_rekor_server.go +++ b/pkg/generated/restapi/configure_rekor_server.go @@ -23,6 +23,9 @@ import ( "strconv" "time" + // using embed to add the static html page duing build time + _ "embed" + "github.com/go-chi/chi/middleware" "github.com/go-openapi/errors" "github.com/go-openapi/runtime" @@ -149,6 +152,7 @@ func setupGlobalMiddleware(handler http.Handler) http.Handler { returnHandler := middleware.Logger(handler) returnHandler = middleware.Recoverer(returnHandler) returnHandler = middleware.Heartbeat("/ping")(returnHandler) + returnHandler = serveStaticContent(returnHandler) handleCORS := cors.Default().Handler returnHandler = handleCORS(returnHandler) @@ -203,3 +207,18 @@ func logAndServeError(w http.ResponseWriter, r *http.Request, err error) { } errors.ServeError(w, r, err) } + +//go:embed rekorHomePage.html +var homePageBytes []byte + +func serveStaticContent(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "/" { + w.Header().Add("Content-Type", "text/html") + w.WriteHeader(200) + _, _ = w.Write(homePageBytes) + return + } + handler.ServeHTTP(w, r) + }) +} diff --git a/pkg/generated/restapi/rekorHomePage.html b/pkg/generated/restapi/rekorHomePage.html new file mode 100644 index 000000000..2efa01353 --- /dev/null +++ b/pkg/generated/restapi/rekorHomePage.html @@ -0,0 +1,30 @@ + + + + + + + + + + + sigstore + + + + + +

+ Rekor Server +

+

+ A non-profit, public good software signing & transparency service. +

To learn more visit Sigstore project page

+

+ + +