From 9237328fb09b2c18365bb5fcef1c4596d77973a9 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Sat, 17 Oct 2026 11:14:02 +0200 Subject: refactor: make server packages buildable via packages.* --- .../server/prometheus-storagebox-exporter.nix | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 nixos/profiles/server/prometheus-storagebox-exporter.nix (limited to 'nixos/profiles/server/prometheus-storagebox-exporter.nix') diff --git a/nixos/profiles/server/prometheus-storagebox-exporter.nix b/nixos/profiles/server/prometheus-storagebox-exporter.nix new file mode 100644 index 0000000..16b03e6 --- /dev/null +++ b/nixos/profiles/server/prometheus-storagebox-exporter.nix @@ -0,0 +1,33 @@ +# TODO: submit Christian's storagebox exporter to nixpkgs +{ config, lib, pkgs, sources, ... }: + +let + storageboxExporter = pkgs.callPackage ./pkgs/prometheus-storagebox-exporter.nix { inherit sources; }; + cfg = config.services.prometheus-storagebox-exporter; +in +{ + options.services.prometheus-storagebox-exporter = { + enable = lib.mkEnableOption "storagebox-exporter"; + port = lib.mkOption { + type = lib.types.int; + }; + hetznerTokenFile = lib.mkOption { + type = lib.types.path; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.storagebox-exporter = { + serviceConfig = { + ExecStart = "${storageboxExporter}/bin/prometheus-storagebox-exporter"; + DynamicUser = "true"; + LoadCredential = "hetznerToken:${cfg.hetznerTokenFile}"; + }; + environment = { + HETZNER_TOKEN_FILE = "%d/hetznerToken"; + LISTEN_ADDRESS = ":${toString cfg.port}"; + }; + wantedBy = ["multi-user.target"]; + }; + }; +} -- cgit v1.3.1