fix(hub): resolve 'vdev' version badge and align it under the Hub title
- The Hub header badge could render 'vdev' because the runtime /etc/nixos/VERSION lookup fell back to the literal string 'dev' when the file was missing (e.g. dev/test environments, or before the Nix-generated config carried a version at all). - modules/core/sovran-hub.nix now reads the repo's VERSION file at Nix eval time and bakes a real semantic version (sovran_version) into the generated config.json and a VERSION file shipped with the package, so the Hub always has a solid value to display. - server.py's _get_sovran_version() now reads that baked-in sovran_version first, and explicitly rejects a literal 'dev' value from any of its file-based fallbacks so the badge never shows 'vdev' again. - templates/index.html + header.css: wrapped the title and the version badge in a '.title-group' column so the version badge sits directly underneath 'Sovran_SystemsOS Hub', left-aligned with it. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
This commit is contained in:
co-authored by
arena-agent
parent
ddba59cce8
commit
a8ff366992
@@ -3,6 +3,16 @@
|
||||
let
|
||||
cfg = config.sovran_systemsOS;
|
||||
|
||||
# Read the OS version from the repo-root VERSION file at eval time so the
|
||||
# Hub always ships a real, baked-in version string instead of relying on
|
||||
# a runtime file lookup (which returns "dev" when /etc/nixos/VERSION is
|
||||
# missing, e.g. in a dev checkout — this is the "vdev" bug in the Hub UI).
|
||||
versionFile = ../../VERSION;
|
||||
sovranVersion =
|
||||
if builtins.pathExists versionFile
|
||||
then builtins.replaceStrings [ "v" "\n" "\r" ] [ "" "" "" ] (builtins.readFile versionFile)
|
||||
else "1.0.0";
|
||||
|
||||
monitoredServices =
|
||||
# ── Infrastructure — System Passwords (always present) ─────
|
||||
[
|
||||
@@ -116,6 +126,7 @@ let
|
||||
role = activeRole;
|
||||
services = monitoredServices;
|
||||
feature_manager = true;
|
||||
sovran_version = sovranVersion;
|
||||
});
|
||||
|
||||
generatedVersions = pkgs.writeText "sovran-hub-versions.json" (builtins.toJSON {
|
||||
@@ -331,6 +342,7 @@ let
|
||||
|
||||
cp ${generatedConfig} $out/lib/sovran-hub-web/config.json
|
||||
cp ${generatedVersions} $out/lib/sovran-hub-web/versions.json
|
||||
printf '%s' "${sovranVersion}" > $out/lib/sovran-hub-web/VERSION
|
||||
|
||||
install -d $out/share/sovran-hub/icons
|
||||
cp icons/* $out/share/sovran-hub/icons/ 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user