From 9cbeb3d9b3878d57f2c0def4bbe3d928001a69c5 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Sat, 24 Jan 2026 09:49:01 +0100 Subject: tweak(tente): send Grafana alerts via email instead of Matrix Less moving parts. Instead of: Grafana -> Forwarder -> Conduit -> UnifiedPush? -> Matrix client just Grafana -> Mail server -> Mail client --- nixos/hosts/tente/default.nix | 2 -- nixos/hosts/tente/grafana.nix | 28 ++++++++----------- nixos/hosts/tente/secrets/alerts-smtp.age | 7 +++++ .../tente/secrets/grafana-matrix-forwarder-env.age | Bin 449 -> 0 bytes nixos/npins/sources.json | 15 ---------- nixos/shared/grafana-matrix-forwarder/default.nix | 10 ------- nixos/shared/grafana-matrix-forwarder/service.nix | 31 --------------------- 7 files changed, 18 insertions(+), 75 deletions(-) create mode 100644 nixos/hosts/tente/secrets/alerts-smtp.age delete mode 100644 nixos/hosts/tente/secrets/grafana-matrix-forwarder-env.age delete mode 100644 nixos/shared/grafana-matrix-forwarder/default.nix delete mode 100644 nixos/shared/grafana-matrix-forwarder/service.nix (limited to 'nixos') diff --git a/nixos/hosts/tente/default.nix b/nixos/hosts/tente/default.nix index 8297fc9..2dcfe62 100644 --- a/nixos/hosts/tente/default.nix +++ b/nixos/hosts/tente/default.nix @@ -102,8 +102,6 @@ in grafana = { port = ports.grafana; - matrixForwarderPort = ports.grafanaMatrixForwarder; - matrixServerUrl = "http://localhost:${toString ports.matrix}"; }; headscale = { diff --git a/nixos/hosts/tente/grafana.nix b/nixos/hosts/tente/grafana.nix index 73ea0d3..f6db5ca 100644 --- a/nixos/hosts/tente/grafana.nix +++ b/nixos/hosts/tente/grafana.nix @@ -9,20 +9,13 @@ in port = lib.mkOption { type = lib.types.int; }; - matrixForwarderPort = lib.mkOption { - type = lib.types.int; - }; - matrixServerUrl = lib.mkOption { - type = lib.types.str; - }; }; - imports = [ - - ]; - config = { - age.secrets.grafana-matrix-forwarder-env.file = ./secrets/grafana-matrix-forwarder-env.age; + age.secrets.alerts-smtp = { + file = ./secrets/alerts-smtp.age; + owner = "grafana"; + }; services.grafana = { enable = true; @@ -31,6 +24,13 @@ in http_addr = "0.0.0.0"; http_port = cfg.port; }; + smtp = rec { + enabled = true; + host = "smtp.migadu.com:465"; + user = "alerts@push-f.com"; + from_address = user; + password = "$__file{${config.age.secrets.alerts-smtp.path}}"; + }; }; provision = { @@ -61,11 +61,5 @@ in ]; }; }; - services.grafana-matrix-forwarder = { - enable = true; - port = cfg.matrixForwarderPort; - homeserver = cfg.matrixServerUrl; - environmentFile = config.age.secrets.grafana-matrix-forwarder-env.path; - }; }; } diff --git a/nixos/hosts/tente/secrets/alerts-smtp.age b/nixos/hosts/tente/secrets/alerts-smtp.age new file mode 100644 index 0000000..d673690 --- /dev/null +++ b/nixos/hosts/tente/secrets/alerts-smtp.age @@ -0,0 +1,7 @@ +age-encryption.org/v1 +-> ssh-ed25519 aqtcmw knuL8pL0ot3fE042Apaw2CVQ19E8poqNsSznVcqAtSg +Dp6+7IShnd8MZrSYjh0LqGH7HUc3Tji/76dQCVIwzMA +-> ssh-ed25519 PMTW+A nvriZ1urwJLuEpCbiZxrKu4juhASLSAQFBA9h4pLzxQ +zqYNxGJLyl6TU0doc3+BLLvek09cgZ1NS4cO+mx7BPo +--- 8T5MKNAsvZMtgfIAL3OIKnXeBA3uJkqvQ9SPYwg9p2A +\Ä MKxª–l>µ¥s­œ™DÿÒ”9;‰}#’øL; -in -buildGoModule { - pname = "grafana-matrix-forwarder"; - version = sources.grafana-matrix-forwarder.version; - src = sources.grafana-matrix-forwarder; - vendorHash = "sha256-ifkeakyRkIF2Y/4otUWhTvUzsPwRb1Wxx6gqN0806c4="; -} diff --git a/nixos/shared/grafana-matrix-forwarder/service.nix b/nixos/shared/grafana-matrix-forwarder/service.nix deleted file mode 100644 index 5ad511c..0000000 --- a/nixos/shared/grafana-matrix-forwarder/service.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - grafanaMatrixForwarder = pkgs.callPackage ./default.nix {}; - cfg = config.services.grafana-matrix-forwarder; -in -{ - options.services.grafana-matrix-forwarder = { - enable = lib.mkEnableOption "grafana-matrix-forwarder"; - port = lib.mkOption { - type = lib.types.int; - }; - homeserver = lib.mkOption { - type = lib.types.str; - }; - environmentFile = lib.mkOption { - type = lib.types.path; - }; - }; - - config = lib.mkIf cfg.enable { - systemd.services.grafana-matrix-forwarder = { - serviceConfig = { - ExecStart = "${grafanaMatrixForwarder}/bin/grafana-matrix-forwarder --port=${toString cfg.port} --homeserver ${cfg.homeserver}"; - EnvironmentFile = cfg.environmentFile; - DynamicUser = "true"; - }; - wantedBy = ["multi-user.target"]; - }; - }; -} -- cgit v1.3.1