From 44e678f941d62bfc19d27f86456976954c459233 Mon Sep 17 00:00:00 2001
From: Kjetil Orbekk <kj@orbekk.com>
Date: Sat, 13 Mar 2021 19:08:15 -0500
Subject: Set up email alerting in grafana

---
 machines/dragon.nix    |  1 +
 modules/monitoring.nix |  5 +++++
 modules/postfix.nix    | 27 +++++++++++++++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 modules/postfix.nix

diff --git a/machines/dragon.nix b/machines/dragon.nix
index 2ddd201..d19df25 100644
--- a/machines/dragon.nix
+++ b/machines/dragon.nix
@@ -21,6 +21,7 @@ in
   ];
 
   orbekk.monitoring-server.enable = true;
+  orbekk.postfix.enable = true;
 
   environment.systemPackages = with pkgs; [ ipmitool ];
   programs.mosh.enable = true;
diff --git a/modules/monitoring.nix b/modules/monitoring.nix
index 8d154ba..26d0c5d 100644
--- a/modules/monitoring.nix
+++ b/modules/monitoring.nix
@@ -44,6 +44,11 @@ in
       domain = cfg.grafana-domain;
       port = cfg.grafana-port;
       addr = "127.0.0.1";
+      smtp = lib.mkIf config.orbekk.postfix.enable {
+        enable = true;
+        host = "localhost:25";
+        fromAddress = "root@orbekk.com";
+      };
 
       provision = {
         enable = true;
diff --git a/modules/postfix.nix b/modules/postfix.nix
new file mode 100644
index 0000000..23f9919
--- /dev/null
+++ b/modules/postfix.nix
@@ -0,0 +1,27 @@
+{ config, lib, pkgs, ... }:
+let
+  cfg = config.orbekk.postfix;
+in
+{
+  options = {
+    orbekk.postfix = {
+      enable = lib.mkEnableOption "Enable postfix config";
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.postfix = {
+      enable = true;
+      hostname = "${config.networking.hostName}.orbekk.com";
+      config = {
+        relayhost = "[smtp.fastmail.com]:465";
+        smtp_sasl_auth_enable = true;
+        smtp_sasl_security_options = "noanonymous";
+        smtp_use_tls = true;
+        smtp_sasl_password_maps = "hash:/opt/secret/postfix-sasl-passwd";
+        smtp_tls_wrappermode = "yes";
+        smtp_tls_security_level = lib.mkForce "encrypt";
+      };
+    };
+  };
+}
-- 
cgit v1.2.3