diff --git a/hosts/kirk/default.nix b/hosts/kirk/default.nix index f08b669..72cebd5 100644 --- a/hosts/kirk/default.nix +++ b/hosts/kirk/default.nix @@ -33,7 +33,7 @@ "adb" "binfmt" "prometheus-exporters" - "promtail" + "alloy" "syncthing" "zerotier" ] diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 92783d6..3cbb5d2 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -40,8 +40,8 @@ "mount-sisko" "adb" "prometheus-exporters" - # "promtail" "zerotier" + "alloy" ] ++ [ ./disko.nix ]; diff --git a/hosts/pike/default.nix b/hosts/pike/default.nix index d699e49..e5e6ca6 100644 --- a/hosts/pike/default.nix +++ b/hosts/pike/default.nix @@ -35,7 +35,7 @@ "mount-sisko" "adb" "prometheus-exporters" - # "promtail" + "alloy" "zerotier" ]; diff --git a/hosts/sisko/default.nix b/hosts/sisko/default.nix index 3d3fd83..9faac29 100644 --- a/hosts/sisko/default.nix +++ b/hosts/sisko/default.nix @@ -21,6 +21,7 @@ "grafana" "prometheus-exporters" "loki" + "alloy" "restic" "atuin" "immich" diff --git a/hosts/tpol/default.nix b/hosts/tpol/default.nix index d73b62b..a586bc0 100644 --- a/hosts/tpol/default.nix +++ b/hosts/tpol/default.nix @@ -24,6 +24,7 @@ "battery" "printing" "wireguard-client" + "alloy" ]; boot.initrd.availableKernelModules = [ diff --git a/modules/adguard-home/default.nix b/modules/adguard-home/default.nix index 4a472a2..cd9cec3 100644 --- a/modules/adguard-home/default.nix +++ b/modules/adguard-home/default.nix @@ -52,8 +52,6 @@ in networking.defaultGateway = "10.1.1.1"; - networking.nameservers = [ "127.0.0.1" ]; - environment.persistence."/persist".directories = [ "/var/lib/AdGuardHome" ]; diff --git a/modules/alloy/default.nix b/modules/alloy/default.nix new file mode 100644 index 0000000..728ca28 --- /dev/null +++ b/modules/alloy/default.nix @@ -0,0 +1,53 @@ +{ config, ... }: +{ + services.alloy = { + enable = true; + }; + environment.etc."alloy/config.alloy".text = '' + local.file_match "local_files" { + path_targets = [{ + __path__ = "/var/log/*.log", + }] + sync_period = "5s" + } + + loki.source.journal "systemd" { + max_age = "24h" + forward_to = [loki.write.default.receiver] + } + + loki.source.journal "kernel" { + max_age = "24h" + forward_to = [loki.write.default.receiver] + } + + loki.relabel "nixfleet_journal" { + forward_to = [] + rule { + source_labels = ["__journal__systemd_unit"] + target_label = "systemd_unit" + } + rule { + source_labels = ["__journal_syslog_identifier"] + target_label = "syslog_identifier" + } + } + + loki.source.journal "nixfleet_journal" { + forward_to = [loki.write.default.receiver] + relabel_rules = loki.relabel.nixfleet_journal.rules + format_as_json = true + } + + loki.write "default" { + endpoint { + url = "http://sisko.wg.aciceri.dev:${ + builtins.toString config.services.loki.configuration.server.http_listen_port or 3100 + }/loki/api/v1/push" + } + external_labels = { + host = "${config.networking.hostName}", + } + } + ''; +}