Рэліз Polemarch 3.0, web-інтэрфейсу для кіравання інфраструктурай

Адбыўся выпуск Polemarch 3.0.0, web-інтэрфейсу для кіравання сервернай інфраструктурай на базе Ansible. Код праекту напісаны на мовах Python і JavaScript з выкарыстаннем фрэймворкаў Django і Celery. Праект распаўсюджваецца пад ліцэнзіяй AGPLv3. Для запуску сістэмы дастаткова ўсталяваць пакет і запусціць 1 сэрвіс. Для прамысловага прымянення рэкамендуецца дадаткова выкарыстоўваць MySQL/PostgreSQL і Redis/RabbitMQ+Redis (кэш і брокер MQ). Для кожнай версіі фармуецца выява Docker.

Асноўныя змены:

  • Пераход на новую версію Rest API v4 і мінімальна падтрымоўваную версію Python 3.8. Пераход быў неабходны для паляпшэння падтрымкі новай сістэмы плагінаў і пашырэнняў, а таксама для паскарэння распрацоўкі. Таксама былі спрошчаны некаторыя дублюючыя элементы, для больш лагічнага і інтуітыўна зразумелага кіравання шаблонамі і раскладам.
  • Дададзены новыя плагіны інвентарызацыі, якія дазваляюць выкарыстоўваць стандартныя плагіны інвентарызацыі, такія як скрыпты або радкі ini/yaml/json. Таксама распрацавана сама сістэма плагінаў для інвентарызацыі, якая дазваляе рэалізоўваць уласныя рэалізацыі фарміравання плагінаў з розных крыніц.
  • Палепшана сістэма плагінаў запуску, якая была выпушчана ў папярэднім рэлізе. Цяпер можна пісаць уласныя рэалізацыі запуску дадатковых каманд, накшталт bash-скрыптоў, terraform ці helm. У рамках рэфакторынгу дададзена падтрымка плагінаў у шаблонах і раскладах. Таксама ў убудовах зараз можна ствараць ланцужок выклікаў для папярэдняй ініцыялізацыі ў рэпазітары.
  • Рэалізавана сістэма пашырэнняў для запісу радкоў з вываду ў розныя сховішчы. Са скрынкі зараз пастаўляецца плягін для запісу ў БД і python-logger з магчымасцю адпраўкі высновы ў stdout, файл або syslog.
  • Чэргі паведамленняў зараз абменьваюцца json-паведамленнямі, замест pickle. Таксама паскорана работа па серыялізацыі і дэсерыялізацыі даных для адпраўкі ў чаргу.
  • Палепшаны карыстацкі інтэрфейс і палепшана інтэграцыя для аўтаабнаўлення з дапамогай Centrifugo.
  • Абноўлены ключавыя залежнасці, такія як Django, за рахунак чаго паменшаны спіс неабходных залежнасцяў (напрыклад, натыўная падтрымка redis для кэша).

.

Крыніца: opennet.ru

Дадаць каментар