Supernodes auf NixOS?


#1

Moin,

ich habe in den letzten Wochen meine privaten Services alle auf ein NixOS umgezogen und bin ziemlich begeistert davon.

Ich kann mir vorstellen, dass der Administrationsaufwand von komplexen Setups dadurch deutlich sinken würde, da updates einfach mit nixos-rebuild switch gemacht werden können, und ggf. durch Starten eines anderen Boot-Eintrag zurückgerollt.

Hat schonmal jemand versucht ein fastd+batman-adv setup auf NixOS zu bauen?


#2

ftfy: nixos-rebuild switch.

ffmuc hat das, danke fpletz.


#3

Uii, sehr schön


#4

achtung… das ist schon länger ungepflegt.
Das Problem ist, dass sich keiner fand der sich auch darin einarbeiten will, daher hing dann alles an einer Person.
Die sind nun dabei, alles neu zu machen ohne NixOS - wenn ich das richtig verstanden habe wird es wohl ein Debian/Ansible das von einer anderen Community geforked wird.
Auf dem 35C3 gab es im OIO einen Talk dazu.


#5

https://git.pbb.lc/petabyteboy/nixfiles/commit/8aed1b391608dc97e0622b8edd218a7c952b9e79

Ich hab da mal ein fastd NixOS-Modul gebaut. Werde wohl noch ein bisschen daran feilen und es ausführlicher testen, und dann versuchen es zu upstreamen.

Mir ist gerade erst aufgefallen, dass eigentlich auch alle Konfigurationsoptionen über die Parameter angepasst werden können, und ich gar keine Configfile erstellen muss. Gibt es irgendwas das man nicht ohne Configfile einstellen kann?


#6
Jan 06 07:18:46 pbb4.pbb.lc systemd[1]: Started fastd instance - lln.
Jan 06 07:18:49 pbb4.pbb.lc fastd[11334]: sending handshake to <lln0>[[hidden]:51399]...
Jan 06 07:18:49 pbb4.pbb.lc fastd[11334]: received handshake response from <lln0>[[hidden]:51399] using fastd v17
Jan 06 07:18:49 pbb4.pbb.lc fastd[11334]: [hidden]:51399 authorized as <lln0>
Jan 06 07:18:49 pbb4.pbb.lc fastd[11334]: connection with <lln0> established.
Jan 06 07:18:49 pbb4.pbb.lc fastd[11334]: new session with <lln0> established using method `null+salsa2012+umac'.

:blush:


#7

Auf https://copper.ffgl.eu/ läuft gerade eine Freifunk-Karte, die vollautomatisch über Nix deployed wurde. Das heisst eine VM mit einer aktuellen batman-adv-Version, fastd-configs und den entsprechenden Services für eine Liste von Communities wurde generiert. Der HopGlass-Server und die entsprechenden Abhängigkeiten wurden heruntergeladen und installiert. Hopglass-Web wurde gebaut, und es wurde eine nginx-config angelegt die /data/ auf den HopGlass Server der entsprechenden Community weiterleitet.


#8

VMs können jetzt per bridged networking eine failover-IP bekommen. Die Test-Eulenmap hat diese IP:
https://91.134.224.65/
bzw.: https://[2001:41d0:2:d0c1:91:134:224:65]/
Zum Testen von anderen Kartenkonfigurationen kann ein Eintrag in der /etc/hosts file gemacht werden, z.B.:

91.134.224.65 map.ffgl.eu lln.map.ffgl.eu bgl.map.ffgl.eu ode.map.ffgl.eu rrh.map.ffgl.eu bcd.map.ffgl.eu

Was nun noch fehlt sind die Statistiken mit Prometheus und Grafana, und das Einbinden der aliases-files aus https://github.com/eulenfunk/mapconfig.