Skip to content
Snippets Groups Projects
grid.nix 1.42 KiB
Newer Older
  • Learn to ignore specific revisions
  • # See morph/grid/local/grid.nix for additional commentary.
    let lib = import ../../lib;
    in lib.make-grid {
    
        sshUsers = import ./secrets/users.nix;
    
    
        # Get absolute vpn key directory path, as a string:
        monitoringvpnKeyDir = toString ./. + "/${cfg.monitoringvpnKeyDir}";
    
    Florian Sesser's avatar
    Florian Sesser committed
    
        # TBD: derive these automatically:
        hostsMap = {
          "172.23.23.1"  = [ "monitoring" "monitoring.monitoringvpn" ];
    
          "172.23.23.11" = [ "payments"   "payments.monitoringvpn"   ];
    
    Florian Sesser's avatar
    Florian Sesser committed
          "172.23.23.12" = [ "storage001" "storage001.monitoringvpn" ];
        };
        vpnClientIPs = [ "172.23.23.11" "172.23.23.12" ];
        nodeExporterTargets = [ "monitoring" "payments" "storage001" ];
    
    
        payments = rec {
          imports = [
            lib.issuer
            lib.hardware-aws
            (lib.customize-issuer cfg sshUsers monitoringvpnKeyDir "172.23.23.11" "19.03")
          ];
        };
    
        storage001 = let publicIPv4 = "3.120.26.190"; in {
          imports = [
            lib.storage
            ./testing001-hardware.nix
            (lib.customize-storage cfg sshUsers publicIPv4 monitoringvpnKeyDir "172.23.23.12" "19.03")
          ];
        };
    
    Florian Sesser's avatar
    Florian Sesser committed
    
    
        monitoring = let publicIPv4 = "18.156.171.217"; in {
          imports = [
            lib.monitoring
            lib.hardware-aws
            (lib.customize-monitoring hostsMap monitoringvpnKeyDir publicIPv4 "172.23.23.1" vpnClientIPs nodeExporterTargets [] "19.09")
          ];
        };