Skip to content
Snippets Groups Projects
make-monitoring.nix 1.16 KiB
Newer Older
  • Learn to ignore specific revisions
  • { publicIPv4
    , hardware
    , publicStoragePort
    , ristrettoSigningKeyPath
    
    , passValue
    , sshUsers
    , stateVersion
    , monitoringvpnIPv4
    , vpnClientIPs
    , ... }: rec {
    
    Florian Sesser's avatar
    Florian Sesser committed
    
      deployment = {
        targetHost = publicIPv4;
    
        secrets = {
          "monitoringvpn-private-key" = {
    
            source = monitoringvpnKeyDir + "/server.key";
    
    Florian Sesser's avatar
    Florian Sesser committed
            destination = "/run/keys/monitoringvpn/server.key";
    
    Florian Sesser's avatar
    Florian Sesser committed
            owner.user = "root";
            owner.group = "root";
            permissions = "0400";
            action = ["sudo" "systemctl" "restart" "wireguard-monitoringvpn.service"];
          };
    
          "monitoringvpn-preshared-key" = {
    
            source = monitoringvpnKeyDir + "/preshared.key";
    
    Florian Sesser's avatar
    Florian Sesser committed
            destination = "/run/keys/monitoringvpn/preshared.key";
    
            owner.user = "root";
            owner.group = "root";
            permissions = "0400";
            action = ["sudo" "systemctl" "restart" "wireguard-monitoringvpn.service"];
          };
    
    Florian Sesser's avatar
    Florian Sesser committed
        };
      };
    
      imports = [
        hardware
        ../../nixos/modules/monitoring/vpn/server.nix
      ];
    
      services.private-storage.monitoring.vpn.server = {
        enable = true;
    
    Florian Sesser's avatar
    Florian Sesser committed
        ip = monitoringvpnIPv4;
    
    Florian Sesser's avatar
    Florian Sesser committed
      };
    
      system.stateVersion = stateVersion;
    }