summaryrefslogtreecommitdiff
path: root/hosts/surtr
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2022-04-08 22:43:06 +0200
committerGregor Kleen <gkleen@yggdrasil.li>2022-04-08 22:43:06 +0200
commitf2bfb278fbff1d02df0b6a377f3de24881172105 (patch)
treed53a2873aef7a6c54a095252a1f926238cb41375 /hosts/surtr
parent43e4a78d9fa8a1dc08158ce4e6b6cf7374fee659 (diff)
downloadnixos-f2bfb278fbff1d02df0b6a377f3de24881172105.tar
nixos-f2bfb278fbff1d02df0b6a377f3de24881172105.tar.gz
nixos-f2bfb278fbff1d02df0b6a377f3de24881172105.tar.bz2
nixos-f2bfb278fbff1d02df0b6a377f3de24881172105.tar.xz
nixos-f2bfb278fbff1d02df0b6a377f3de24881172105.zip
prometheus
Diffstat (limited to 'hosts/surtr')
-rw-r--r--hosts/surtr/dns/zones/li.yggdrasil.soa4
-rw-r--r--hosts/surtr/prometheus/default.nix73
-rw-r--r--hosts/surtr/prometheus/tls.crt10
-rw-r--r--hosts/surtr/prometheus/tls.key26
4 files changed, 112 insertions, 1 deletions
diff --git a/hosts/surtr/dns/zones/li.yggdrasil.soa b/hosts/surtr/dns/zones/li.yggdrasil.soa
index ff623211..74b7170e 100644
--- a/hosts/surtr/dns/zones/li.yggdrasil.soa
+++ b/hosts/surtr/dns/zones/li.yggdrasil.soa
@@ -1,7 +1,7 @@
1$ORIGIN yggdrasil.li. 1$ORIGIN yggdrasil.li.
2$TTL 3600 2$TTL 3600
3@ IN SOA ns.yggdrasil.li. root.yggdrasil.li. ( 3@ IN SOA ns.yggdrasil.li. root.yggdrasil.li. (
4 2022022201 ; serial 4 2022040800 ; serial
5 10800 ; refresh 5 10800 ; refresh
6 3600 ; retry 6 3600 ; retry
7 604800 ; expire 7 604800 ; expire
@@ -40,6 +40,8 @@ surtr IN AAAA 2a03:4000:52:ada::
40surtr IN MX 0 ymir.yggdrasil.li 40surtr IN MX 0 ymir.yggdrasil.li
41surtr IN TXT "v=spf1 redirect=yggdrasil.li" 41surtr IN TXT "v=spf1 redirect=yggdrasil.li"
42 42
43prometheus.surtr IN CNAME surtr.yggdrasil.li.
44
43vidhar IN AAAA 2a03:4000:52:ada:4:1:: 45vidhar IN AAAA 2a03:4000:52:ada:4:1::
44vidhar IN MX 0 ymir.yggdrasil.li 46vidhar IN MX 0 ymir.yggdrasil.li
45vidhar IN TXT "v=spf1 redirect=yggdrasil.li" 47vidhar IN TXT "v=spf1 redirect=yggdrasil.li"
diff --git a/hosts/surtr/prometheus/default.nix b/hosts/surtr/prometheus/default.nix
new file mode 100644
index 00000000..3fdfc2aa
--- /dev/null
+++ b/hosts/surtr/prometheus/default.nix
@@ -0,0 +1,73 @@
1{ config, lib, pkgs, ... }:
2
3with lib;
4
5let
6 relabelHosts = [
7 { source_labels = ["__address__"];
8 target_label = "instance";
9 regex = "(localhost|127\.[0-9]+\.[0-9]+\.[0-9]+)(:[0-9]+)?";
10 replacement = "surtr";
11 }
12 ];
13in {
14 config = {
15 services.prometheus = {
16 enable = true;
17
18 exporters = {
19 node = {
20 enable = true;
21 enabledCollectors = [];
22 };
23 };
24
25 globalConfig = {
26 evaluation_interval = "1s";
27
28 remote_write = {
29 url = "https://prometheus.vidhar.yggdrasil/api/v1/write";
30 name = "vidhar";
31 tls_config = {
32 ca_file = ../../vidhar/prometheus/ca/ca.crt;
33 cert_file = ./tls.crt;
34 key_file = "/run/credentials/prometheus.service/tls.key";
35 };
36 };
37 };
38
39 scrapeConfigs = [
40 { job_name = "prometheus";
41 static_configs = [
42 { targets = ["localhost:${toString config.services.prometheus.port}"]; }
43 ];
44 relabel_configs = relabelHosts;
45 scrape_interval = "1s";
46 }
47 { job_name = "node";
48 static_configs = [
49 { targets = ["localhost:${toString config.services.prometheus.exporters.node.port}"]; }
50 ];
51 relabel_configs = relabelHosts;
52 scrape_interval = "1s";
53 }
54 ];
55
56 rules = [
57 (generators.toYAML {} {
58 groups = [
59 ];
60 })
61 ];
62 };
63
64 sops.secrets."prometheus.key" = {
65 format = "binary";
66 sopsFile = ./tls.key;
67 };
68
69 systemd.services.prometheus.serviceConfig.LoadCredential = [
70 "tls.key:${config.sops.secrets."prometheus.key".path}"
71 ];
72 };
73}
diff --git a/hosts/surtr/prometheus/tls.crt b/hosts/surtr/prometheus/tls.crt
new file mode 100644
index 00000000..ba958f40
--- /dev/null
+++ b/hosts/surtr/prometheus/tls.crt
@@ -0,0 +1,10 @@
1-----BEGIN CERTIFICATE-----
2MIIBXzCCARGgAwIBAgIBATAFBgMrZXAwHzEdMBsGA1UEAwwUcHJvbWV0aGV1cy55
3Z2dkcmFzaWwwIBcNMjIwNDA4MjAwMzU1WhgPMjA5MDA0MjYyMDAzNTVaMBoxGDAW
4BgNVBAMMD3N1cnRyLnlnZ2RyYXNpbDAqMAUGAytlcAMhAAJd8I32X/z9J0cO2Oz+
54KAoIJq0igdMdbLBA+8WO+vgo3UwczAMBgNVHRMBAf8EAjAAMEQGA1UdEQQ9MDuC
6GnByb21ldGhldXMuc3VydHIueWdnZHJhc2lsgh1wcm9tZXRoZXVzLnN1cnRyLnln
7Z2RyYXNpbC5saTAdBgNVHQ4EFgQUN52tPcv5FFppzeJx2AiXk6UgPDgwBQYDK2Vw
8A0EAPN9zhaeBB2C1TursdARH0jVBz9g0dRhP7sO5ZG0K+xp24paLXiTF1rYub24p
9/yZw71p7M0BAE+hJqYBzYo5YBQ==
10-----END CERTIFICATE-----
diff --git a/hosts/surtr/prometheus/tls.key b/hosts/surtr/prometheus/tls.key
new file mode 100644
index 00000000..95e28db2
--- /dev/null
+++ b/hosts/surtr/prometheus/tls.key
@@ -0,0 +1,26 @@
1{
2 "data": "ENC[AES256_GCM,data:YBbLT5kFi1KKQ4xOvyiJGkwQG/xoxz55/giVg2iY6+0nV+jEp3mF4oFjc14gFg3mIN9x6bLdFVY3DUHT1PrQdjrqIZtX8AVCA8BUIQj6JDY6YMi3/kK6mR9up9o/pxJfu8mQVjWjSx78Ko9aNat8/FltJnq69cA=,iv:PfslzrP5AbTNHpXfh4bz3q6CD9anQyCpmqtZ8ZTEG3k=,tag:eJLb0LIoNwDD1JQ6kUmACA==,type:str]",
3 "sops": {
4 "kms": null,
5 "gcp_kms": null,
6 "azure_kv": null,
7 "hc_vault": null,
8 "age": null,
9 "lastmodified": "2022-04-08T20:09:16Z",
10 "mac": "ENC[AES256_GCM,data:UW3ngxCjYl2kmOinRNmwNliBg2Xm/5rCrLp39bo7PXksZcuijV800IKuY91PWjkgaIbjD2jlU0ycJNDw3MzxfVim6gz91kUXQgQV+me8AEXAiO6Sf2j08jEtTh1SCr4qqdw0FE5aULDvGRtTgR+hhNk0xbbeG9fPhU95eeLW8vg=,iv:wG54336E4PouNgXhZbW4/onqbecsRrdYzTXSXDft/VI=,tag:BASCu9YNPMPfbScepLDiRQ==,type:str]",
11 "pgp": [
12 {
13 "created_at": "2022-04-08T20:09:16Z",
14 "enc": "-----BEGIN PGP MESSAGE-----\n\nhF4DyFKFNkTVG5oSAQdAfzL8SSjlYxe8e5yOipQClJffUgxFnlew+N6VK4UhRGYw\naHaDmOmusuTRoBOX4V4PpRg3gLFRoPPy+q9L4Z+gtX97JK+9UgN1mxYPkB9X5M8K\n0l4BQ9caVjtlmMuKp3EROUYrSjau6Ulkzd43P+BwwQ6jv8T52EtKO8WLVnQEheIV\njOMH4DWaxKYbad7lXphix1oFhVvQQVGEzawceWolKDt/T+QS4spJBFoL7V1ml105\n=Cdh0\n-----END PGP MESSAGE-----\n",
15 "fp": "7ED22F4AA7BB55728B643DC5471B7D88E4EF66F8"
16 },
17 {
18 "created_at": "2022-04-08T20:09:16Z",
19 "enc": "-----BEGIN PGP MESSAGE-----\n\nhF4DXxoViZlp6dISAQdACGP5pn9MiRCa7CJYqosY9Aw4TJx+/9tOsdO5YZn1ZSIw\n/xOMfKjHvT5PlMT9gnk9187MhjR9G/2YcW5ggfyEypo8ei65RkJYzTG2m5Pdneg3\n0l4BzMEQtYAbmZBp9XSkqjacCTpc2y6YV55qcuFudtRfsFFi28JSb5NxZ61AKy0g\nSk/e+IHQvTGahD2akrHBNIPncUOo4GHHzEjADvdDuJNpMkYUgnhEUod2JPYBjFmL\n=JN/O\n-----END PGP MESSAGE-----\n",
20 "fp": "30D3453B8CD02FE2A3E7C78C0FB536FB87AE8F51"
21 }
22 ],
23 "unencrypted_suffix": "_unencrypted",
24 "version": "3.7.2"
25 }
26} \ No newline at end of file