Π Π΅Π»ΠΈΠ· 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ