diff --git a/flake.nix b/flake.nix index a48d82b..e740709 100644 --- a/flake.nix +++ b/flake.nix @@ -210,17 +210,12 @@ connections.wan1 = mkConnectionRev "internet" "*"; }; - # TODO: extract from kea! - networks.home-lan = { - name = "Home LAN"; - cidrv4 = "192.168.1.0/24"; - }; - networks.home-fritzbox = { name = "Home Fritzbox"; cidrv4 = "192.168.178.0/24"; }; + networks.ward-kea.name = "Home LAN"; nodes.switch-attic = mkSwitch "Switch Attic" { info = "D-Link DGS-1016D"; image = ./dlink-dgs1016d.png; @@ -240,7 +235,6 @@ }; }) { - nodes.ward.interfaces.lan.network = "home-lan"; nodes.fritzbox.interfaces.eth1.network = "home-fritzbox"; } ]; diff --git a/hosts/kroma/default.nix b/hosts/kroma/default.nix index 95c1f44..91ed117 100644 --- a/hosts/kroma/default.nix +++ b/hosts/kroma/default.nix @@ -79,6 +79,4 @@ ]; topology.self.icon = "devices.desktop"; - #topology.self.interfaces.lan1.connections = [{ id = "dumbswitch"; interface = "lan1"; }]; - #topology.nodes.dumbswitch = lib.topology.mkSwitch "Dummer Switch"; } diff --git a/hosts/sire/default.nix b/hosts/sire/default.nix index c2fd163..cc6d56e 100644 --- a/hosts/sire/default.nix +++ b/hosts/sire/default.nix @@ -22,6 +22,7 @@ topology.self.hardware.info = "AMD Ryzen Threadripper 1950X, 96GB RAM"; topology.self.interfaces.lan.sharesNetworkWith = x: x == "lan-self"; + topology.self.interfaces.lan-self.sharesNetworkWith = x: x == "lan"; boot.mode = "efi"; boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "e1000e" "alx"]; diff --git a/hosts/ward/default.nix b/hosts/ward/default.nix index 384d766..a58205a 100644 --- a/hosts/ward/default.nix +++ b/hosts/ward/default.nix @@ -24,6 +24,7 @@ topology.self.hardware.image = ../../odroid-h3.png; topology.self.hardware.info = "ODROID H3, 64GB RAM"; topology.self.interfaces.lan.sharesNetworkWith = x: x == "lan-self"; + topology.self.interfaces.lan-self.sharesNetworkWith = x: x == "lan"; boot.mode = "efi"; boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" "r8169"]; diff --git a/topology/README.md b/topology/README.md index 1894766..a5fb0c4 100644 --- a/topology/README.md +++ b/topology/README.md @@ -1,3 +1,22 @@ +## TODO + +- macvtap interface type svg with small link +- address port label render make newline capable (multiple port labels) +- NAT indication +- embed font globally, try removing satori embed? +- network centric view as standalone +- make rectpacking of childs + +- podman / docker harvesting +- nixos-container extractor + +- disks (from disko) + render +- impermanence render? +- nixos nftables firewall render? + +- search todo and do +- the network propagator based on options.nodes cannot deal with mkMerge and mkIf stuff currently + ## Options ## Renderers diff --git a/topology/nixos/extractors/kea.nix b/topology/nixos/extractors/kea.nix index 9c70ac8..7c550e0 100644 --- a/topology/nixos/extractors/kea.nix +++ b/topology/nixos/extractors/kea.nix @@ -29,6 +29,8 @@ in { cidrv4 = subnet; }; - topology.self.interfaces = genAttrs interfaces (const {network = netName;}); + # Do not use topology.self.interfaces here to prevent inclusion of a mkMerge which cannot be + # detected by the network propagator currently. + topology.nodes.${config.topology.id}.interfaces = genAttrs interfaces (const {network = netName;}); }; } diff --git a/topology/topology/renderers/elk/default.nix b/topology/topology/renderers/elk/default.nix index 943f355..51fb2db 100644 --- a/topology/topology/renderers/elk/default.nix +++ b/topology/topology/renderers/elk/default.nix @@ -163,7 +163,7 @@ # Edge in network-centric view (optionalAttrs (interface.network != null) ( - mkEdge ("children.network." + idForInterface node interface.id) "children.network.children.net:${interface.network}.ports.default" false { + mkEdge ("children.network." + idForInterface node interface.id) "children.network.children.net:${interface.network}.ports.default" interface.virtual { style = pathStyleFromNetworkStyle config.networks.${interface.network}.style; } )) diff --git a/topology/topology/renderers/svg/default.nix b/topology/topology/renderers/svg/default.nix index f26b9aa..f4195cf 100644 --- a/topology/topology/renderers/svg/default.nix +++ b/topology/topology/renderers/svg/default.nix @@ -1,19 +1,3 @@ -# TODO: -# - macvtap interface type svg with small link -# - address port label render make newline capable (multiple port labels) -# - NAT indication -# - embed font globally, try removing satori embed? -# - network overview card (list all networks with name and cidr, legend style) -# - network centric view as standalone -# - split network layout or make rectpacking of childs -# - more service info -# - disks (from disko) + render -# - impermanence render? -# - nixos nftables firewall render? -# - podman / docker harvesting -# - systemd extractor remove cidr mask -# - nixos-container extractor -# - search todo and do { config, lib,