···8484 return srv.Shutdown(shutdownCtx)
8585}
86868787-// rootHandler responds at "/" with a small identifier. Mainly useful as a
8888-// liveness check during deployment.
8787+// rootHandler responds at "/" with a friendly identifier page. Mainly
8888+// useful as a liveness check during deployment, and as a calling card
8989+// for the curious operator who hits the root in a browser.
8990func rootHandler() http.HandlerFunc {
9191+ // Plain-text banner. "tack" rendered in figlet's larry3d font; the
9292+ // shape mirrors the style the bluesky PDS serves at its own root,
9393+ // which feels like the right vibe for an atproto-adjacent service.
9494+ const banner = ` __ __
9595+/\ \__ /\ \
9696+\ \ ,_\ __ ___\ \ \/'\
9797+ \ \ \/ /'__'\ /'___\ \ , <
9898+ \ \ \_/\ \L\.\_/\ \__/\ \ \\'\
9999+ \ \__\ \__/.\_\ \____\\ \_\ \_\
100100+ \/__/\/__/\/_/\/____/ \/_/\/_/
101101+102102+103103+This is a tack server: a tangled spindle for other CI services.
104104+105105+ Code: https://github.com/mitchellh/tack
106106+`
90107 return func(w http.ResponseWriter, r *http.Request) {
9191- fmt.Fprintln(w, "tack: a Tangled spindle backed by Buildkite")
108108+ // Only respond at exactly "/" — without this guard, the
109109+ // "GET /" pattern would also catch arbitrary unmatched
110110+ // paths like "/foo" and lie about being the root.
111111+ if r.URL.Path != "/" {
112112+ http.NotFound(w, r)
113113+ return
114114+ }
115115+ w.Header().Set("Content-Type", "text/plain; charset=utf-8")
116116+ fmt.Fprint(w, banner)
92117 }
93118}
94119