OpenTofu, открытый инструмент для управления инфраструктурой как кодом, который сообщество развивает как альтернативу Terraform, получит встроенную поддержку линтинга. Первая экспериментальная версия войдёт в состав предстоящего релиза OpenTofu 1.13.
По словам разработчиков, во время планирования OpenTofu вычисляет выражения и обращается к провайдерам, чтобы понять, какие изменения ожидаются. Поэтому часть проверок можно выполнить только после получения этих дополнительных данных.
В версии 1.13 OpenTofu начнёт с небольшого набора возможностей. Попробовать раннюю экспериментальную версию линтинга можно с помощью новой опции командной строки -lint вместе с командами validate, plan и apply. Например: tofu plan -lint=all.
Значение all включает все доступные правила линтинга. Также можно перечислить конкретные проверки через запятую, чтобы включить только нужные.
В первой версии появятся четыре встроенных правила. core:no-type-variable находит входные переменные без объявленного типа. core:count-instead-enabled указывает, когда можно использовать более новую функцию enabled вместо старого подхода с условным count.
Два других правила ищут неиспользуемые элементы конфигурации. core:unused-variable находит входные переменные, которые объявлены, но нигде не используются. core:unused-local делает то же самое для локальных значений.
Параллельно команда строит более масштабные планы на будущее, не ограничиваясь встроенными проверками. OpenTofu прорабатывает возможность определения пользовательских правил линтинга и политик на языке, похожем на тот, что уже применяется в конфигурациях OpenTofu.
Более сложные проверки, вероятно, смогут работать с плагинами провайдеров. С их помощью правила смогут получать внешнюю информацию или выполнять проверки, которые сложно описать обычной конфигурацией.
Правила можно будет делать блокирующими или неблокирующими. Блокирующие правила останавливают операцию, а неблокирующие только выводят предупреждение. Команда также рассматривает переиспользуемые наборы правил, которые можно будет распространять так же, как модули OpenTofu.
Подробнее можно узнать в анонсе проекта OpenTofu.






Пока нет комментариев. Будьте первым!