È stata rilasciata la versione 3.0.0 di Polemarch, interfaccia web per la gestione dell'infrastruttura server basata su Ansible. Il codice del progetto è scritto in Python e JavaScript, utilizzando i framework Django e Celery. Il progetto è distribuito con licenza AGPLv3. Per avviare il sistema, è sufficiente installare il pacchetto e avviare un servizio. Per un'applicazione industriale, si consiglia di utilizzare aggiuntivamente MySQL/PostgreSQL e Redis/RabbitMQ+Redis (cache e broker MQ). Per ogni versione viene creato un'immagine Docker.
Principali modifiche:
- Transizione alla nuova versione Rest API v4 e alla versione minima supportata di Python 3.8. Questa transizione era necessaria per migliorare il supporto per il nuovo sistema di plugin ed estensioni, nonché per accelerare lo sviluppo. Sono stati semplificati anche alcuni elementi duplicati, per una gestione più logica e intuitiva dei modelli e della programmazione.
- Sono stati aggiunti nuovi plugin di inventario, che permettono di utilizzare plugin standard di inventario, come script o stringhe ini/yaml/json. È stato anche sviluppato il sistema stesso di plugin per l'inventario, che consente di implementare le proprie soluzioni per la creazione di plugin da diverse fonti.
- È stato migliorato il sistema di plugin di avvio, rilasciato nella precedente versione. Ora è possibile scrivere implementazioni personalizzate per l'avvio di comandi aggiuntivi, simili a script bash, terraform o helm. Nell'ambito del refactoring, è stato aggiunto il supporto per i plugin nei template e negli orari. Inoltre, ora nei plugin è possibile creare una catena di chiamate per l'inizializzazione anticipata nel repository.
- È stato realizzato un sistema di estensioni per registrare righe dall'output in diversi archivi. Ora viene fornito di default un plugin per la registrazione nel database e un python-logger con la possibilità di inviare l'output a stdout, a un file o a syslog.
- Le code dei messaggi ora scambiano messaggi in formato json, invece di pickle. È stata inoltre accelerata l'operazione di serializzazione e deserializzazione dei dati da inviare in coda.
- Interfaccia utente migliorata e integrazione potenziata per l'autoaggiornamento tramite Centrifugo.
- Aggiornate le dipendenze chiave come Django, riducendo l'elenco delle dipendenze necessarie (ad esempio, supporto nativo per redis per la cache).
.
Fonte: opennet.ru
