From 2e89debb55d80c1981210105b5ddfe88b006ed51 Mon Sep 17 00:00:00 2001
From: Dmitriy Pleshevskiy <dmitriy@pleshevski.ru>
Date: Sun, 2 Feb 2025 02:54:47 +0300
Subject: [PATCH] host/tatos: add basic auth

---
 .agenix_config.nix                            | Bin 5831 -> 4601 bytes
 .../prometheus-basicauth-password.age         | Bin 0 -> 1285 bytes
 hosts/tatos/services/prometheus.nix           |  30 ++++++++++++++++--
 3 files changed, 28 insertions(+), 2 deletions(-)
 create mode 100644 hosts/tatos/services/prometheus-basicauth-password.age

diff --git a/.agenix_config.nix b/.agenix_config.nix
index 69471fef23b84f892c7e61575d2ebd11290e185d..3452bf2c600017b3ae120b5a5d5b918f72ac62ae 100644
GIT binary patch
literal 4601
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

literal 5831
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
Rv}kg4Qr(9$yENof97)~XTgCtY

diff --git a/hosts/tatos/services/prometheus-basicauth-password.age b/hosts/tatos/services/prometheus-basicauth-password.age
new file mode 100644
index 0000000000000000000000000000000000000000..ed9da0f3d5bfdd0d7f57bafdd6c7665f61ee79a0
GIT binary patch
literal 1285
zcmV+g1^W5`M@dveQdv+`01K-^Kbzh%ZBV47{8$;Ms>P6}a1qE92y6(g?{k$F@rn^3
z@#30|iB51AFRd#mFoDwmFp}gYdCNU1;d)yWmC?v*mW?2iu&iO1GL4UW(da(TI9cd;
z_f|-W@$xk`7345DA&QnAlyOs2D#A^PQ<w=vc%iPI+K^%rDm=Gs9)m1<9Je7hBAlQ>
ztOM|0AV0P26)NzD)<A^nG9<1j*DmUov0#A2N_e4(uAR8%43}?-Qq-?BiJ;;XgOcq}
za>@^|R&c`AmfXxqHz~Lh!zaH88#^7VU2CBGBpw+-G7aA%mQm&e_)?SA^vACsp{>6m
z=|l*KQF7pP(BZ7Z<t6QffQ$+DN3xDSv7`%5%rA`)#licw1JBr?%BOiUwbu9b>vW00
z$3L(5e!P9=crfP8kB`4q=e_C#2?SR0EIDyCn~C2^jAgdVf%u2-<p<b`iwMx{irjLt
z>LRxs3fpm})`NLNeP{z`EdXS)uq;YxG?T&|7EwhwHcd6+QvL+5x<X5OB3)T&4JeSt
z?bKuFeu&);Ijrf&L>LX|cwR1`9AB04VaRe3Q`Eu@(vV(d4HPPa5$9ct)hcDjw5ZAH
zifP<q%-c-1TJo6#3$RkVR!9={q{w@ktP>J?`rE;0g%5!U!(pO>K#&tdi39G4JZbn6
z@RZ+*DXQO;eb%Wu^RxT?J<c`di?9{h7F4(8{i!H#O<g9_HgDH|l}G<jnH}`JuD)M(
z2urs>Tb$8)sJny?db%peh!2#`ygO@#9e6`HbI;*SQ7-}CNIUn0Y%9avA`ge4j6K_6
z4t-g22L4#bZ$<?Tno^oc8PsQB-T&AL6=3bERCJg&Z}jMuh4~_EuL4hauaLq)j$E=!
z@TWa{hN3<p`Dli1N+LGm*~@VCnZJJ<KM1Yx@!7LmJdXt~hA?4EWLd9x279GOakFyD
z>Ypy4=b^|*MBP1f_S5CXYLu{pRPG{HyKr2#MbJ&!b{m<24RiC{i5KIoid8^E=z^{%
zADI+F*Q=@43@(Ca+ZUU+b~&!2pOx8(xjm+T5rT_>MeZmGwuGst)w4jy!+G6kGgZr*
zHjLh_4m(>QlfHs8;kd(4P291$VL7lBQhSC9uMZ%WSFz%=M2qvb3cRKb;sK5Ecv-iW
zVhBGX(_vlXuVIvc#=vjZ%zB;i0NBuLO3<&y36@0Urz5fd)=lWRBf)1G(VHN3zGtia
zq<-lbrR!vJ!3O7Z;#QQ${?bMgW7pdJIr#5b)XyF(=&fW>Hh`*RPVstDQz@8M@W&)K
z(}bt1!Jxw$T&{M4ZP{r|s~;8PSJgGSV|F0bVAKlM16OP<L~<JPU-tyb3vyPcvzwHz
zqVb;I_C9~X(sSHJ0%nnqIqS;JCa^xHmuxh|ut`043u;JK>8N(!zBFCdiAHNG>y-|H
z3iGvT(KBe{dz}RZOK>fCT#rz))dgxEY=FG>o=6S#X$NBk0RDn&6AWz@GD8XV;I9_|
z)H#(N5}GB13y6EhkOC%%s2$A)+0xMVk@S7m_$Eb{NCRTsi0P=V0z;Zf7>flHbNGk?
zTYoeRN5{f&kH5UAv?D)W-m}G8Tj<)u+%_N*o8S&7thDh{a<E;`(=%A=FI^mohE@Y{
v|10dQb@T}@u(f6$J8zZ(FspVmOjUqS#j3zqkWf*f<($kX=dV)Je!a8^KHYs4

literal 0
HcmV?d00001

diff --git a/hosts/tatos/services/prometheus.nix b/hosts/tatos/services/prometheus.nix
index 260a921..bfd98cc 100644
--- a/hosts/tatos/services/prometheus.nix
+++ b/hosts/tatos/services/prometheus.nix
@@ -1,17 +1,30 @@
-{ ... }:
+{ config, ... }:
 
 let
   nodeExporterPort = 40000;
   nginxExporterPort = 40001;
+  postfixExporterPort = 40002;
+
+  basic_auth = {
+    username = "jan";
+    password_file = config.age.secrets.prometheus-basicauth-password.path;
+  };
 in
 {
+  age.secrets.prometheus-basicauth-password.file = ./prometheus-basicauth-password.age;
+
   services.prometheus.exporters.node = {
     enable = true;
     port = nodeExporterPort;
     # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/prometheus/exporters.nix
     enabledCollectors = [ "systemd" ];
     # /nix/store/zgsw0yx18v10xa58psanfabmg95nl2bb-node_exporter-1.8.1/bin/node_exporter  --help
-    extraFlags = [ "--collector.ethtool" "--collector.softirqs" "--collector.tcpstat" "--collector.wifi" ];
+    extraFlags = [
+      "--collector.ethtool"
+      "--collector.softirqs"
+      "--collector.tcpstat"
+      "--collector.wifi"
+    ];
   };
 
   # https://wiki.nixos.org/wiki/Prometheus
@@ -36,6 +49,7 @@ in
       }
       {
         job_name = "node_production";
+        inherit basic_auth;
         static_configs = [
           {
             targets = [
@@ -48,6 +62,7 @@ in
       }
       {
         job_name = "nginx_production";
+        inherit basic_auth;
         static_configs = [
           {
             targets = [
@@ -57,6 +72,17 @@ in
           }
         ];
       }
+      {
+        job_name = "sm_smtp";
+        # inherit basic_auth;
+        static_configs = [
+          {
+            targets = [
+              "sm-sd1:${toString postfixExporterPort}"
+            ];
+          }
+        ];
+      }
     ];
   };
 }