La version 3.0.0 de Polemarch a été publiée, un interface web pour la gestion des infrastructures serveur basées sur Ansible. Le code du projet est écrit en Python et JavaScript avec les frameworks Django et Celery. Le projet est distribué sous la licence AGPLv3. Pour démarrer le système, il suffit d'installer le package et de lancer un service. Pour un usage industriel, il est recommandé d'utiliser en outre MySQL/PostgreSQL et Redis/RabbitMQ+Redis (cache et broker MQ). Une image Docker est créée pour chaque version.
Principales modifications :
- Transition vers la nouvelle version de l'API Rest v4 et la version minimale supportée de Python 3.8. Ce changement était nécessaire pour améliorer le support du nouveau système de plugins et d'extensions, ainsi que pour accélérer le développement. De plus, certains éléments redondants ont été simplifiés pour une gestion des templates et des horaires plus logique et intuitive.
- De nouveaux plugins d'inventaire ont été ajoutés, permettant d'utiliser des plugins d'inventaire standard tels que des scripts ou des lignes ini/yaml/json. Un système de plugins pour l'inventaire a également été développé, permettant de mettre en œuvre des réalisations personnalisées de plugins à partir de diverses sources.
- Le système de plugins de démarrage, qui a été publié dans la version précédente, a été amélioré. Il est désormais possible d'écrire des réalisations personnalisées pour l'exécution de commandes supplémentaires, telles que des scripts bash, terraform ou helm. Dans le cadre du refactoring, le support des plugins dans les templates et les horaires a été ajouté. De plus, il est maintenant possible de créer une chaîne d'appels pour l'initialisation préalable dans les plugins.
- Un système d'extensions a été mis en place pour enregistrer les lignes de sortie dans divers stockages. Un plugin pour l'enregistrement dans une base de données et un logger Python sont fournis par défaut, avec la possibilité d'envoyer la sortie vers stdout, un fichier ou syslog.
- Les files d'attente de messages échangent maintenant des messages json, au lieu de pickle. Le processus de sérialisation et de désérialisation des données pour l'envoi dans la file d'attente a également été accéléré.
- L'interface utilisateur a été améliorée et l'intégration pour la mise à jour automatique via Centrifugo a été optimisée.
- Les dépendances clés, comme Django, ont été mises à jour, ce qui a réduit la liste des dépendances nécessaires (par exemple, support natif de redis pour le cache).
.
Source : opennet.ru
