diff --git a/modules/nixfiles/nixfiles-system-upgrade.nix b/modules/nixfiles/nixfiles-system-upgrade.nix index a3f29b7..64da51b 100644 --- a/modules/nixfiles/nixfiles-system-upgrade.nix +++ b/modules/nixfiles/nixfiles-system-upgrade.nix @@ -25,7 +25,7 @@ in serviceConfig = { Type = "oneshot"; - ExecStart = pkgs.nixfiles-system-upgrade + "/bin/nixfiles-system-upgrade --no-confirm${optionalString cfg.allowReboot " --allow-reboot"}"; + ExecStart = pkgs.nixfiles-system-upgrade + "/bin/nixfiles-system-upgrade --no-confirm${optionalString cfg.allowReboot " --allow-reboot"}${optionalString (config.clerie.monitoring.enable) " --node-exporter-metrics-path /var/lib/prometheus-node-exporter/textfiles/nixfiles-system-upgrade.prom"}"; }; }; systemd.timers.nixfiles-system-auto-upgrade = { diff --git a/pkgs/nixfiles/nixfiles-system-upgrade.sh b/pkgs/nixfiles/nixfiles-system-upgrade.sh index 9ad1b96..18e8e6b 100755 --- a/pkgs/nixfiles/nixfiles-system-upgrade.sh +++ b/pkgs/nixfiles/nixfiles-system-upgrade.sh @@ -4,6 +4,7 @@ set -euo pipefail ALLOW_REBOOT= NO_CONFIRM= +NODE_EXPORTER_METRICS_PATH= while [[ $# -gt 0 ]]; do case $1 in @@ -15,6 +16,11 @@ while [[ $# -gt 0 ]]; do NO_CONFIRM=1 shift ;; + --node-exporter-metrics-path) + NODE_EXPORTER_METRICS_PATH=$2 + shift + shift + ;; *) echo "Unknown option $1" exit 1 @@ -47,6 +53,11 @@ nix-env -p "/nix/var/nix/profiles/system" --set "${STORE_PATH}" echo "Set as boot target" /nix/var/nix/profiles/system/bin/switch-to-configuration boot +if [[ -n "$NODE_EXPORTER_METRICS_PATH" ]]; then + echo "Write monitoring check data" + echo "nixfiles_system_upgrade_last_check $(date +%s)" > "$NODE_EXPORTER_METRICS_PATH" +fi + BOOTED_SYSTEM_KERNEL="$(readlink /run/booted-system/{initrd,kernel,kernel-modules})" ACTIVATING_SYSTEM_KERNEL="$(readlink /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})"