Целью является составить полный список инструментов, которые облегчают писать конфигурацию/код Ansible в трёх популярных редакторах: VS Code, Atom, JetBrains PyCharm (в данном случае проще эту IDE рассмотреть как редактор). Под инструментами я имею ввиду: линтеры, форматтеры (спик инглиш!), подсветка синтаксиса, автодополнение. Будет рассмотрена текущая активность в разработке инструментариев и предложено моё субъективно-оценочное суждение что должно быть в "идеальном" инструменте. Я пользовался всего одним инструментом из рассмотренных, поэтому в обзоре не будет моей субъективной оценки со стороны пользователя, только то что смог найти в общем доступе. Тут более менее стандартный список: Посмотрим какие уже есть обзоры на русском и английском языках, чтобы не повторять одну информацию дважды. Поиск вёлся в гугле. По каким словам я искал в русском сегменте: В русскоязычном сегменте статьи по Ansible в большинстве своём носят ознакомительный характер, но такой базовый вопрос почему-то не закрыт. Посмотрим как дело обстоит в английском сегменте: Рассмотрим подробнее эти два обзора. Это список инструментов с официального сайта Ansible. К сожалению 95% инструментов никак не связаны с Ansible, в осноном это поддержка синтакса YAML и Jinja2. Данное обсуждение я включил как в качестве опроса пользователей каким инструментом они пользуются. И в большинстве случаев это обычный редактор, который никак не завязан на Ansible. Из проведённого поиска можно утверждать, что исследование стоит провести. Я думаю все знакомы с редактором VS Code, поэтому вставлять копипасту с его официального сайта я не буду. Если посмотреть какие есть расширения для данного редактора по ключевому слову "ansible", то список получится небольшой (13 расширений), поэтому рассмотрим первые три. Оценка критериев: Реализованные функции взятые из README: Вывод утилиты cloc: Судя по комментарием расширение давно не развивается, открытые PR и issue зависли, заявленная функциональность большей частью не работает. Оценка критериев: Реализованные функции (в данном случае это то, что взятые из README: Эти функции указаны как дополнение к реализованным в другом расширении, который не развивается уже 6 лет. Вывод утилиты cloc: Оценка критериев: Реализованные функции взятые из README отсутствуют. Расширение заявлено как порт пакета для редактора Atom, который развивается. Вывод утилиты cloc: Тоже популярный редактор. Поиск по ключевому слову "ansible" выдал большое количество результатов, в основном нерелевантных. Если просмотреть первую страницу выдачи, то можно выделить 11 подходящих пакетов. Рассмотрим также первые два, так как среди оставшихся есть дублирующие уже рассмотренные из VS Code. Оценка критериев: Реализованные функции взятые из README: Вывод утилиты cloc: Оценка критериев: Реализованные функции взятые из README: Вывод утилиты cloc: IDE от JetBrains, в которой можно добавить поддержку различных языков с помощью плагинов. По поиску "ansible" подходит только 1 вариант. Оценка критериев: Реализованные функции взятые из README: Вывод утилиты cloc: Такое большое количество YAML кода связано, с тем что в репозитории есть 1 fork примеров Ansible кода, который определяется утилитой cloc. Поэтому можно утверждать, что весь плагин написан на Java. Основным недостатком текущих решений в VS Code и PyCharm я считаю отсутствие переиспользования других наработок. Уже давно существуют ansible-lint, ansible-playbook --syntax-check, yamllint. Зачем реализовывать ещё один языковой сервер YAML, добавлять в него лексиску Ansible, когда это уже реализовано. Или добавлять функции, которые используются малым процентом пользователей (запуск в Docker и облаке), вместо решения общей для всей пользователей проблемы (обязательные параметры стандартных модулей, корректность парсинга YAML, ошибки форматирования). Сейчас эти проверки в большинстве случаев реализованы через CI, что увеличивает петлю обратной связи. Либо качество кода зависит от deprecation warnings в логе работы. Поэтому в текущей перспективе лучше всего использовать редактор Atom для работы с Ansible. По проведённому обзору можно сказать, что лучшим решением для разработки на Ansible на текущий момент является редактор Atom. Те расширения, которые разработаны для данного редактора, можно легко перенести и на другие редакторы. И я думаю также важным недостатком является отсутствие развития текущих инструментов. Последние даты коммитов 2-3 года назад, когда самому Ansible всего 8 лет, это очень большой срок. Сильно сомневаюсь, что инструменты не развиваются, потому что больше некуда и Ansible не претерпевает серьёзных изменений. DevOps инженер