Die Veröffentlichung von Polemarch 3.0.0, einer Web-Oberfläche zur Verwaltung von Serverinfrastrukturen auf Basis von Ansible, ist erfolgt. Der Code des Projekts wurde in Python und JavaScript unter Verwendung der Frameworks Django und Celery geschrieben. Das Projekt steht unter der AGPLv3 Lizenz. Zur Ausführung des Systems genügt es, das Paket zu installieren und einen Dienst zu starten. Für den industriellen Einsatz wird empfohlen, zusätzlich MySQL/PostgreSQL sowie Redis/RabbitMQ+Redis (Caching und Message Broker) zu verwenden. Für jede Version wird ein Docker-Image erstellt.
Wesentliche Änderungen:
- Der Umstieg auf die neue Version des Rest API v4 und die minimal unterstützte Version Python 3.8 wurde realisiert. Diese Umstellung war notwendig, um die Unterstützung für das neue Pluginsystem und Erweiterungen zu verbessern sowie die Entwicklung zu beschleunigen. Des Weiteren wurden einige redundante Elemente vereinfacht, um eine logischere und intuitiv verständliche Verwaltung von Vorlagen und Zeitplänen zu ermöglichen.
- Neue Inventarisierungs-Plugins wurden hinzugefügt, die die Verwendung standardisierter Inventarisierungs-Plugins wie Skripte oder ini/yaml/json-Strings ermöglichen. Zudem wurde das Inventarisierung-Pluginsystem entwickelt, das die Implementierung eigener Lösungen zur Erstellung von Plugins aus verschiedenen Quellen ermöglicht.
- Das verbesserte Pluginsystem für den Start, das in der vorherigen Version veröffentlicht wurde, ermöglicht jetzt das Erstellen eigener Implementierungen für das Starten zusätzlicher Befehle, ähnlich wie bei Bash-Skripten, Terraform oder Helm. Im Rahmen der Überarbeitung wurde auch die Unterstützung für Plugins in Vorlagen und Zeitplänen hinzugefügt. Zudem können in Plugins nun Aufrufketten für die vorbeugende Initialisierung im Repository erstellt werden.
- Ein Erweiterungssystem für das Aufzeichnen von Ausgaben in verschiedene Speicherorte wurde implementiert. Standardmäßig wird jetzt ein Plugin zur Speicherung in der Datenbank sowie ein Python-Logger bereitgestellt, der die Ausgabe an stdout, eine Datei oder syslog senden kann.
- Nachrichtenwarteschlangen tauschen jetzt JSON-Nachrichten aus, anstelle von Pickle. Zudem wurde die Leistung bei der Serialisierung und Deserialisierung von Daten zur Versendung in die Warteschlange verbessert.
- Die Benutzeroberfläche wurde optimiert und die Integration für die automatische Aktualisierung mit Centrifugo verbessert.
- Wichtige Abhängigkeiten wie Django wurden aktualisiert, wodurch die Liste der erforderlichen Abhängigkeiten verringert wurde (zum Beispiel native Redis-Unterstützung für den Cache).
.
Quelle: opennet.ru
