diff options
author | azahi <azat@bahawi.net> | 2025-03-12 20:17:13 +0300 |
---|---|---|
committer | azahi <azat@bahawi.net> | 2025-03-12 20:17:13 +0300 |
commit | c81dc5a13b469c511fac6fa2390b70422d1b4da5 (patch) | |
tree | 4dab5909006ab5c25da6bd9fde6a714c7719ded7 /modules/endlessh-go.nix | |
parent | 2025-02-17 (diff) |
Diffstat (limited to '')
-rw-r--r-- | modules/endlessh-go.nix | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/modules/endlessh-go.nix b/modules/endlessh-go.nix index 5d3ddfe..d9316c2 100644 --- a/modules/endlessh-go.nix +++ b/modules/endlessh-go.nix @@ -1,7 +1,6 @@ { config, lib, - this, ... }: let @@ -10,23 +9,35 @@ in { options.nixfiles.modules.endlessh-go.enable = lib.mkEnableOption "endlessh-go"; - config = - let + config = lib.mkIf cfg.enable { + nixfiles.modules.unbound.zone.whitelist = [ "ip-api.com" ]; + + services.endlessh-go = { + enable = true; + listenAddress = "0.0.0.0"; port = 22; - in - lib.mkIf cfg.enable { - services.endlessh-go = { + prometheus = { enable = true; - listenAddress = "0.0.0.0"; - inherit port; - prometheus = { - enable = true; - listenAddress = this.wireguard.ipv4.address; - port = 9229; - }; - extraOptions = [ "-geoip_supplier=ip-api" ]; + listenAddress = "127.0.0.1"; + port = 9229; }; - - networking.firewall.allowedTCPPorts = [ port ]; + extraOptions = [ "-geoip_supplier=ip-api" ]; }; + + environment.etc."alloy/endlessh.alloy".text = with config.services.endlessh-go.prometheus; '' + prometheus.scrape "endlessh" { + targets = [ + { + __address__ = "${listenAddress}:${toString port}", + instance = "${config.networking.hostName}", + }, + ] + forward_to = [prometheus.relabel.default.receiver] + } + ''; + + systemd.services.alloy.reloadTriggers = [ config.environment.etc."alloy/endlessh.alloy".source ]; + + networking.firewall.allowedTCPPorts = [ config.services.endlessh-go.port ]; + }; } |