Implement health check for deploy. Make version endpoint to return revision if not set

This commit is contained in:
2026-03-25 23:48:48 +03:00
parent ee6b510e41
commit fc0c84f7f7
9 changed files with 100 additions and 15 deletions

View File

@@ -3,6 +3,7 @@ package version
import (
"io"
"net/http"
"runtime/debug"
"go.uber.org/fx"
@@ -39,7 +40,20 @@ type handler struct {
func (h *handler) VersionHandler(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
ver := h.version
if ver == "unknown" {
buildInfo, ok := debug.ReadBuildInfo()
if ok {
for _, setting := range buildInfo.Settings {
if setting.Key == "vcs.revision" {
ver = ver + "-" + setting.Value
break
}
}
}
}
w.Header().Set("Content-Type", "text/plain")
w.WriteHeader(http.StatusOK)
io.WriteString(w, h.version)
io.WriteString(w, ver+"\n")
}