Тестирование в IaC
Подход “Инфраструктура как Код” (IaC) противопоставляется подходу “Infrastructure as Scripts” в том, что к коду (в отличие от скриптов) начинают применять практики обычные для программирования, например тестирование.
Вот что имеет смысл тестировать в IaC:
- контракты (входы и выходы) модулей
- мутации параметров (
"${env}-${name}"
илиif env=prod then https should be enabled
) - внешние ограничения (“не должно быть security group с полностью открытыми портами”)
Сами ресурсы, которые мы создаем внутри модуля тестировать, конечно же, смысла не имеет – эта часть декларативна и уже протестирована провайдером ресурса.
Кросспост: