WIP: ap01: towards our VLAN model #181

Draft
rlahfa wants to merge 7 commits from ap01-vlan into main
Owner

This PR aims to bring support for VLAN-based provisionnement.

There's one imperfection: this is taking much more closure size on the target system:

root@ap01-prototype # df
Filesystem           1024-blocks    Used Available Use% Mounted on
ubi0:rootfs              24884     23420      1464  94% /persist
ubi0:rootfs              24884     23420      1464  94% /nix
dev                     124124         0    124124   0% /dev
tmpfs                   125428       488    124940   0% /run
none                    125428         0    125428   0% /tmp

This PR cannot be merged until we cut down on the size which was introduced by iproute2, which means we just need a neat way to perform the vlan_filtering modification without bringing iproute2 in the play.

This PR aims to bring support for VLAN-based provisionnement. There's one imperfection: this is taking much more closure size on the target system: ``` root@ap01-prototype # df Filesystem 1024-blocks Used Available Use% Mounted on ubi0:rootfs 24884 23420 1464 94% /persist ubi0:rootfs 24884 23420 1464 94% /nix dev 124124 0 124124 0% /dev tmpfs 125428 488 124940 0% /run none 125428 0 125428 0% /tmp ``` This PR cannot be merged until we cut down on the size which was introduced by iproute2, which means we just need a neat way to perform the vlan_filtering modification without bringing iproute2 in the play.
rlahfa added 2 commits 2024-12-08 23:21:30 +01:00
Put DHCPv4 on the default VLAN now.

Signed-off-by: Ryan Lahfa <ryan@dgnum.eu>
feat(machines/ap01/recovery): fix levitation dependencies
All checks were successful
Run pre-commit on all files / check (push) Successful in 25s
Check meta / check_meta (pull_request) Successful in 19s
Check meta / check_dns (pull_request) Successful in 19s
Check workflows / check_workflows (pull_request) Successful in 26s
Build all the nodes / ap01 (pull_request) Successful in 1m42s
Build all the nodes / bridge01 (pull_request) Successful in 1m42s
Build all the nodes / geo01 (pull_request) Successful in 1m45s
Build all the nodes / geo02 (pull_request) Successful in 1m43s
Build all the nodes / compute01 (pull_request) Successful in 2m11s
Build all the nodes / rescue01 (pull_request) Successful in 1m56s
Build all the nodes / vault01 (pull_request) Successful in 1m53s
Build all the nodes / storage01 (pull_request) Successful in 2m0s
Run pre-commit on all files / check (pull_request) Successful in 26s
Build all the nodes / web01 (pull_request) Successful in 2m16s
Build all the nodes / web02 (pull_request) Successful in 1m38s
Build all the nodes / web03 (pull_request) Successful in 1m30s
da318b17aa
We should use the right DHCPv4.

Signed-off-by: Ryan Lahfa <ryan@dgnum.eu>
rlahfa added 2 commits 2024-12-08 23:41:51 +01:00
This makes the experience nicer.

Signed-off-by: Ryan Lahfa <ryan@dgnum.eu>
feat(scripts/liminix): make it easy to extract the firmware part of the Zyxel NWA FIT image
Some checks failed
Check meta / check_dns (pull_request) Successful in 18s
Check meta / check_meta (pull_request) Successful in 19s
Check workflows / check_workflows (pull_request) Successful in 25s
Run pre-commit on all files / check (push) Successful in 26s
Build all the nodes / ap01 (pull_request) Failing after 1m8s
Build all the nodes / bridge01 (pull_request) Successful in 1m49s
Build all the nodes / geo01 (pull_request) Successful in 2m7s
Build all the nodes / geo02 (pull_request) Successful in 2m5s
Build all the nodes / compute01 (pull_request) Successful in 2m35s
Build all the nodes / rescue01 (pull_request) Successful in 2m27s
Build all the nodes / storage01 (pull_request) Successful in 2m12s
Run pre-commit on all files / check (pull_request) Successful in 36s
Build all the nodes / vault01 (pull_request) Successful in 1m54s
Build all the nodes / web02 (pull_request) Successful in 1m48s
Build all the nodes / web03 (pull_request) Successful in 1m45s
Build all the nodes / web01 (pull_request) Successful in 2m33s
0cbaf39aa5
This is useful when reflashing the system from scratch in the levitation
mode.

Note that doing this will reset the UBI counter to zero, this is bad for
wear leveling.

Signed-off-by: Ryan Lahfa <ryan@dgnum.eu>
rlahfa added 2 commits 2024-12-08 23:49:25 +01:00
This script requires manual efforts on the operator end not to fuck up
too hard.

This adds min-copy-closure and min-garbage-collect to the development
shell.

Signed-off-by: Ryan Lahfa <ryan@dgnum.eu>
feat(devshell): add tufted, a Fennel TFTP server
Some checks failed
Check meta / check_dns (pull_request) Successful in 17s
Check meta / check_meta (pull_request) Successful in 24s
Run pre-commit on all files / check (push) Successful in 27s
Check workflows / check_workflows (pull_request) Successful in 26s
Build all the nodes / ap01 (pull_request) Failing after 1m5s
Build all the nodes / bridge01 (pull_request) Successful in 1m56s
Build all the nodes / geo01 (pull_request) Successful in 2m4s
Build all the nodes / geo02 (pull_request) Successful in 2m9s
Build all the nodes / rescue01 (pull_request) Successful in 2m33s
Build all the nodes / compute01 (pull_request) Successful in 2m43s
Build all the nodes / storage01 (pull_request) Successful in 2m7s
Run pre-commit on all files / check (pull_request) Successful in 33s
Build all the nodes / vault01 (pull_request) Successful in 1m52s
Build all the nodes / web02 (pull_request) Successful in 2m2s
Build all the nodes / web03 (pull_request) Successful in 1m51s
Build all the nodes / web01 (pull_request) Successful in 2m34s
5871782d52
This is useful for in-memory testing of APs connected over a simple
network.

In the future, we may use a TFTP server for field recovery by
configuring all our APs to use a certain known IPv4 address for the TFTP
server and ensuring that we always have a router on the untagged area
answering TFTP requests to reboot an AP in a known configuration,
without any serial console attached.

Signed-off-by: Ryan Lahfa <ryan@dgnum.eu>
rlahfa force-pushed ap01-vlan from 5871782d52 to 14f38b02e2 2024-12-08 23:51:56 +01:00 Compare
rlahfa added 1 commit 2024-12-08 23:52:43 +01:00
fix(machines/ap01/lan): use untagged VLAN ID, aka 1 and not 0
All checks were successful
Check meta / check_dns (pull_request) Successful in 19s
Check meta / check_meta (pull_request) Successful in 17s
Check workflows / check_workflows (pull_request) Successful in 22s
Build all the nodes / ap01 (pull_request) Successful in 1m29s
Build all the nodes / bridge01 (pull_request) Successful in 1m32s
Build all the nodes / geo01 (pull_request) Successful in 1m44s
Build all the nodes / compute01 (pull_request) Successful in 2m8s
Build all the nodes / geo02 (pull_request) Successful in 1m49s
Build all the nodes / rescue01 (pull_request) Successful in 2m3s
Build all the nodes / vault01 (pull_request) Successful in 1m55s
Build all the nodes / storage01 (pull_request) Successful in 2m3s
Run pre-commit on all files / check (pull_request) Successful in 27s
Run pre-commit on all files / check (push) Successful in 26s
Build all the nodes / web02 (pull_request) Successful in 1m50s
Build all the nodes / web03 (pull_request) Successful in 1m49s
Build all the nodes / web01 (pull_request) Successful in 2m27s
8bb1ddc953
Signed-off-by: Ryan Lahfa <ryan@dgnum.eu>
rlahfa force-pushed ap01-vlan from 8bb1ddc953 to 9d5d75a427 2024-12-09 01:30:00 +01:00 Compare
rlahfa added the
awaiting
awaiting-author
label 2024-12-15 20:22:06 +01:00
All checks were successful
Check meta / check_dns (pull_request) Successful in 18s
Required
Details
Run pre-commit on all files / check (push) Successful in 25s
Required
Details
Check meta / check_meta (pull_request) Successful in 17s
Required
Details
Check workflows / check_workflows (pull_request) Successful in 21s
Required
Details
Build all the nodes / bridge01 (pull_request) Successful in 1m26s
Required
Details
Build all the nodes / ap01 (pull_request) Successful in 2m54s
Required
Details
Build all the nodes / compute01 (pull_request) Successful in 1m51s
Required
Details
Build all the nodes / geo01 (pull_request) Successful in 1m24s
Required
Details
Build all the nodes / geo02 (pull_request) Successful in 1m24s
Required
Details
Build all the nodes / rescue01 (pull_request) Successful in 1m51s
Required
Details
Build all the nodes / storage01 (pull_request) Successful in 1m47s
Required
Details
Build all the nodes / vault01 (pull_request) Successful in 1m40s
Required
Details
Build all the nodes / web01 (pull_request) Successful in 2m13s
Required
Details
Build all the nodes / web02 (pull_request) Successful in 1m30s
Required
Details
Run pre-commit on all files / check (pull_request) Successful in 25s
Required
Details
Build all the nodes / web03 (pull_request) Successful in 1m38s
Required
Details
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin ap01-vlan:ap01-vlan
git checkout ap01-vlan
Sign in to join this conversation.
No description provided.