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.
This commit is contained in:
Vincent Ambo 2019-10-05 22:33:41 +01:00 committed by Vincent Ambo
parent 95abb1bcde
commit 6912658c72
4 changed files with 48 additions and 11 deletions

View file

@ -19,13 +19,22 @@
with pkgs;
rec {
# Hash of all Nixery sources - this is used as the Nixery version in
# builds to distinguish errors between deployed versions, see
# server/logs.go for details.
nixery-src-hash = pkgs.runCommand "nixery-src-hash" {} ''
echo ${./.} | grep -Eo '[a-z0-9]{32}' > $out
'';
# Go implementation of the Nixery server which implements the
# container registry interface.
#
# Users will usually not want to use this directly, instead see the
# 'nixery' derivation below, which automatically includes runtime
# data dependencies.
nixery-server = callPackage ./server { };
nixery-server = callPackage ./server {
srcHash = nixery-src-hash;
};
# Implementation of the Nix image building logic
nixery-build-image = import ./build-image { inherit pkgs; };