about summary refs log tree commit diff
path: root/tools/nixery/server/main.go
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-10-05T21·33+0100
committerVincent Ambo <github@tazj.in>2019-10-06T22·05+0100
commit6912658c72291caefd7c7ea6312a35c3a686cf61 (patch)
tree47f41a4cb8ee9d1e7f3eda998471f1578d557e2d /tools/nixery/server/main.go
parent95abb1bcde75253aa35669eed26f734d02c6a870 (diff)
feat(server): Use hash of Nixery source as version
Uses a hash of Nixery's sources as the version displayed when Nixery
launches or logs an error. This makes it possible to distinguish
between errors logged from different versions.

The source hashes should be reproducible between different checkouts
of the same source tree.
Diffstat (limited to 'tools/nixery/server/main.go')
-rw-r--r--tools/nixery/server/main.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/nixery/server/main.go b/tools/nixery/server/main.go
index 878e59ff6d50..ca1f3c69f2d8 100644
--- a/tools/nixery/server/main.go
+++ b/tools/nixery/server/main.go
@@ -47,6 +47,10 @@ import (
 // https://docs.docker.com/registry/spec/manifest-v2-2/
 const manifestMediaType string = "application/vnd.docker.distribution.manifest.v2+json"
 
+// This variable will be initialised during the build process and set
+// to the hash of the entire Nixery source tree.
+var version string = "devel"
+
 // Regexes matching the V2 Registry API routes. This only includes the
 // routes required for serving images, since pushing and other such
 // functionality is not available.
@@ -243,7 +247,7 @@ func main() {
 		Pop:    pop,
 	}
 
-	log.Printf("Starting Nixery on port %s\n", cfg.Port)
+	log.Printf("Starting Nixery (version %s) on port %s\n", version, cfg.Port)
 
 	// All /v2/ requests belong to the registry handler.
 	http.Handle("/v2/", &registryHandler{