wgconfig - Bearbeitung von WireGuard-Konfigurationsdateien
Juli 2020
Motivation
Konfigurationsdateien für WireGuard folgen einer ini-Datei-Syntax, haben jedoch im Regelfall mehrere gleichnamige "Peer"-Sektionen. Viele Python-Libraries zum Lesen und Schreiben von Konfigurationsdateien unterstützen dies nicht. Die meisten sind auch nicht in der Lage, beim Schreiben die vorhandenen Kommentare in der ursprünglichen Datei beizubehalten.
Beschreibung
"wgconfig" ist eine kleine Python-Bibliothek zum Lesen und Schreiben von WireGuard-Konfigurationsdateien, die die in der Motivation genannten Anforderungen erfüllt.
Aufgrund von Nutzerfeedback ist mir bekannt, dass die Bibliothek in Automatisierungslösungen auf Produktionssystemen eingesetzt wird. Ein schönes Beispiel, dass meine "Werke" der Allgemeinheit zu Gute kommen.
Implementierung
Die Implementierung ist geradlinig: Eine bestehende Datei wird zeilenweise eingelesen und die einzelnen Sektionen geparst. Über eine API können Änderungen an diese zeilenweisen Struktur vorgenommen und wieder in eine Datei zurückgeschrieben werden.
Unit-Tests stellen sicher, dass sich bei Codeänderungen nicht unbemerkt Fehler einschleichen.
Die Bibliothek ist im öffentlichen PyPI-Repository verfügbar und kann via "pip3 install wgconfig" leicht installiert werden.