diff options
| -rw-r--r-- | krebs/3modules/lass/default.nix | 39 | ||||
| -rw-r--r-- | lass/1systems/dishfire/config.nix | 63 | ||||
| -rw-r--r-- | lass/1systems/dishfire/physical.nix | 39 | ||||
| -rw-r--r-- | lass/1systems/dishfire/source.nix | 3 | 
4 files changed, 143 insertions, 1 deletions
| diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 2475a0d5a..49ba09ecc 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -14,7 +14,44 @@ in {    dns.providers = {      "lassul.us" = "zones";    }; -  hosts = mapAttrs hostDefaults { +  hosts = mapAttrs (_: recursiveUpdate { +    owner = config.krebs.users.lass; +    ci = true; +    monitoring = true; +  }) { +    dishfire = { +      cores = 4; +      nets = rec { +        internet = { +          ip4.addr = "144.76.172.188"; +          aliases = [ +            "dishfire.i" +          ]; +          ssh.port = 45621; +        }; +        retiolum = { +          via = internet; +          ip4.addr = "10.243.133.99"; +          ip6.addr = "42:0000:0000:0000:0000:0000:d15f:1233"; +          aliases = [ +            "dishfire.r" +          ]; +          tinc.pubkey = '' +            -----BEGIN RSA PUBLIC KEY----- +            MIIBCgKCAQEAwKi49fN+0s5Cze6JThM7f7lj4da27PSJ/3w3tDFPvtQco11ksNLs +            Xd3qPaQIgmcNVCR06aexae3bBeTx9y3qHvKqZVE1nCtRlRyqy1LVKSj15J1D7yz7 +            uS6u/BSZiCzmdZwu3Fq5qqoK0nfzWe/NKEDWNa5l4Mz/BZQyI/hbOpn6UfFD0LpK +            R4jzc9Dbk/IFNAvwb5yrgEYtwBzlXzeDvHW2JcPq3qQjK2byQYNiIyV3g0GHppEd +            vDbIPDFhTn3Hv5zz/lX+/We8izzRge7MEd+Vn9Jwb5NAzwDsOHl6ExpqASv9H49U +            HwgPw5pstabyrsDWXybSYUb+8LcZf+unGwIDAQAB +            -----END RSA PUBLIC KEY----- +          ''; +          tinc.port = 993; +        }; +      }; +      ssh.privkey.path = <secrets/ssh.id_ed25519>; +      ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGv0JMp0y+E5433GRSFKVK3cQmP0AAlS9aH9fk49yFxy"; +    };      prism = rec {        cores = 4;        extraZones = { diff --git a/lass/1systems/dishfire/config.nix b/lass/1systems/dishfire/config.nix new file mode 100644 index 000000000..3d5f32180 --- /dev/null +++ b/lass/1systems/dishfire/config.nix @@ -0,0 +1,63 @@ +{ config, lib, pkgs, ... }: + +{ +  imports = [ +    <stockholm/lass> +    <stockholm/lass/2configs/retiolum.nix> +    <stockholm/lass/2configs/git.nix> +    { +      networking.dhcpcd.allowInterfaces = [ +        "enp*" +        "eth*" +        "ens*" +      ]; +    } +    { +      sound.enable = false; +    } +    { +      environment.systemPackages = with pkgs; [ +        mk_sql_pair +      ]; +    } +    { +      imports = [ +        <stockholm/lass/2configs/websites/fritz.nix> +      ]; +      krebs.iptables.tables.filter.INPUT.rules = [ +         { predicate = "-p tcp --dport http"; target = "ACCEPT"; } +         { predicate = "-p tcp --dport https"; target = "ACCEPT"; } +      ]; +    } +    { +      #TODO: abstract & move to own file +      krebs.exim-smarthost = { +        enable = true; +        relay_from_hosts = map (host: host.nets.retiolum.ip4.addr) [ +          config.krebs.hosts.mors +          config.krebs.hosts.uriel +        ]; +        system-aliases = [ +          { from = "mailer-daemon"; to = "postmaster"; } +          { from = "postmaster"; to = "root"; } +          { from = "nobody"; to = "root"; } +          { from = "hostmaster"; to = "root"; } +          { from = "usenet"; to = "root"; } +          { from = "news"; to = "root"; } +          { from = "webmaster"; to = "root"; } +          { from = "www"; to = "root"; } +          { from = "ftp"; to = "root"; } +          { from = "abuse"; to = "root"; } +          { from = "noc"; to = "root"; } +          { from = "security"; to = "root"; } +          { from = "root"; to = "lass"; } +        ]; +      }; +      krebs.iptables.tables.filter.INPUT.rules = [ +        { predicate = "-p tcp --dport smtp"; target = "ACCEPT"; } +      ]; +    } +  ]; + +  krebs.build.host = config.krebs.hosts.dishfire; +} diff --git a/lass/1systems/dishfire/physical.nix b/lass/1systems/dishfire/physical.nix new file mode 100644 index 000000000..64e3904e0 --- /dev/null +++ b/lass/1systems/dishfire/physical.nix @@ -0,0 +1,39 @@ +{ config, lib, pkgs, ... }: +{ +  imports = [ +    ./config.nix +    <nixpkgs/nixos/modules/profiles/qemu-guest.nix> +  ]; + +  boot.loader.grub = { +    device = "/dev/vda"; +    splashImage = null; +  }; + +  boot.initrd.availableKernelModules = [ +    "ata_piix" +    "ehci_pci" +    "uhci_hcd" +    "virtio_pci" +    "virtio_blk" +  ]; + +  fileSystems."/" = { +    device = "/dev/mapper/pool-nix"; +    fsType = "ext4"; +  }; + +  fileSystems."/srv/http" = { +    device = "/dev/pool/srv_http"; +    fsType = "ext4"; +  }; + +  fileSystems."/boot" = { +    device = "/dev/vda1"; +    fsType = "ext4"; +  }; +  fileSystems."/bku" = { +    device = "/dev/pool/bku"; +    fsType = "ext4"; +  }; +} diff --git a/lass/1systems/dishfire/source.nix b/lass/1systems/dishfire/source.nix new file mode 100644 index 000000000..2445af130 --- /dev/null +++ b/lass/1systems/dishfire/source.nix @@ -0,0 +1,3 @@ +import <stockholm/lass/source.nix> { +  name = "dishfire"; +} | 
