Brand executable with commit hash for server header
Alan Pearce alan@alanpearce.eu
Fri, 19 Apr 2024 22:13:14 +0200
2 files changed, 6 insertions(+), 4 deletions(-)
jump to
M nix/default.nix → nix/default.nix
@@ -1,7 +1,7 @@ { pkgs, self }: let - revision = "${self.lastModifiedDate}-${self.shortRev or "dirty"}"; - version = "unstable-${self.shortRev or "dirty"}"; + revision = "${self.lastModifiedDate}-${self.shortRev or self.dirtyShortRev or "dirty"}"; + version = self.shortRev or self.dirtyShortRev or "unstable-${self.lastModified}"; mkDocker = server: let PORT = 3000; @@ -63,7 +63,7 @@ prePatch = '' ${builder}/bin/build ''; modules = ./gomod2nix.toml; - ldflags = [ "-s" "-w" ]; + ldflags = [ "-s" "-w" "-X" "main.Commit=${version}" ]; }; docker = mkDocker server; docker-aarch64-linux = mkDocker (self.packages.aarch64-linux.server);
M server.go → server.go
@@ -46,6 +46,8 @@ //go:embed all:public/* var fs embed.FS +var Commit string + func main() { config := Config{} if help, err := conf.Parse("", &config); err != nil { @@ -92,7 +94,6 @@ ProxyHeader: "Fly-Client-IP", GETOnly: true, ReadTimeout: 5 * time.Minute, WriteTimeout: 5 * time.Minute, - ServerHeader: "Fiber", StrictRouting: true, UnescapePath: true, }) @@ -135,6 +136,7 @@ hosts[config.BaseURL.Host] = &Host{website} toplevel := fiber.New(fiber.Config{ DisableStartupMessage: config.Production, + ServerHeader: fmt.Sprintf("website (%s)", Commit), }) toplevel.Get("/health", func(c *fiber.Ctx) error { return c.SendStatus(fiber.StatusOK)