diff --git a/.forgejo/workflows/eval-nodes.yaml b/.forgejo/workflows/eval-nodes.yaml index 28328dc..358cf8c 100644 --- a/.forgejo/workflows/eval-nodes.yaml +++ b/.forgejo/workflows/eval-nodes.yaml @@ -111,6 +111,17 @@ jobs: STORE_USER: admin name: Build and cache netaccess01 run: nix-shell -A eval-nodes --run cache-node + netcore01: + runs-on: nix + steps: + - uses: actions/checkout@v3 + - env: + BUILD_NODE: netcore01 + STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/ + STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }} + STORE_USER: admin + name: Build and cache netcore01 + run: nix-shell -A eval-nodes --run cache-node netcore02: runs-on: nix steps: diff --git a/machines/netconf/netcore01.nix b/machines/netconf/netcore01.nix new file mode 100644 index 0000000..75e2776 --- /dev/null +++ b/machines/netconf/netcore01.nix @@ -0,0 +1,55 @@ +# SPDX-FileCopyrightText: 2025 Lubin Bailly +# +# SPDX-License-Identifier: EUPL-1.2 + +let + #TODO: meta + vlansPlan = { + "uplink-cri".id = 223; + + "admin-core" = { + id = 3000; + l3-interface = "irb.0"; + }; + "admin-ap".id = 3001; + "users".id-list = [ + { + begin = 3045; + end = 4094; + } + ]; + + "ap-staging".id = 2000; + "hypervisor".id = 2001; + }; +in +{ + vlans = vlansPlan; + dgn-hardware.model = "EX2300-48P"; + dgn-interfaces = + let + hypervisor.ethernet-switching = { + interface-mode = "access"; + vlans = [ "hypervisor" ]; + }; + in + { + "xe-0/2/0".ethernet-switching = { + interface-mode = "trunk"; + vlans = [ "all" ]; + }; + + "ge-0/0/0" = hypervisor; + "ge-0/0/1" = hypervisor; + "ge-0/0/2" = hypervisor; + "ge-0/0/3" = hypervisor; + "ge-0/0/4" = hypervisor; + "ge-0/0/5" = hypervisor; + "ge-0/0/6" = hypervisor; + "ge-0/0/7" = hypervisor; + + # management + "me0".inet.addresses = [ "192.168.2.2/24" ]; + "irb".inet6.addresses = [ "fd26:baf9:d250:8000::100f/64" ]; + }; +} diff --git a/meta/nodes/netconf.nix b/meta/nodes/netconf.nix index 7e464bf..722074d 100644 --- a/meta/nodes/netconf.nix +++ b/meta/nodes/netconf.nix @@ -2,6 +2,31 @@ # # SPDX-License-Identifier: EUPL-1.2 { + netcore01 = { + site = "pot01"; + + hashedPassword = "$6$BKetIIfT$JVyE0B7F4O.fJwQFu5jVrVExAZROrEMLW5HkDkhjMShJ9cRIgxSm2VM9OThDowsnLmAewqDN7eAY.EQt4UR4U0"; + + stateVersion = null; + + adminGroups = [ "fai" ]; + + deployment = { + targetHost = "fd26:baf9:d250:8000::100f"; + sshOptions = [ + "-J" + "root@vault01.hyp01.infra.dgnum.eu" + "-p" + "830" + ]; + }; + + nixpkgs = { + version = "24.05"; # FIXME: meaningless + system = "netconf"; + }; + }; + netcore02 = { site = "hyp01"; @@ -26,6 +51,7 @@ system = "netconf"; }; }; + netaccess01 = { site = "hyp02";