Четвертое тело

Одна из проблем терраформа, как я писал, заключается в том, что вы работаете с тремя сущностями:
- tf-скрипты — это то, что вы хотите видеть;
- файл состояния — это то, как выглядит инфраструктура по мнению Terraform;
- реальное состояние дел — как на самом деле выглядит инфраструктура.
Как небесной механике задача трех тел в аналитическом виде не решается, так и терраформ со своими тремя сущностями оставляет повод для беспокойства, а что если кто-то ручками заведет сервер или dns-запись? Не со злобы, а просто так вышло. Этот сервер или эта запись не попадет в состояния терраформа. Раздражает.
Чтобы вернуть себе полное чувство контроля над инфра, я ввел в систему четвертую сущность - написал специальный руби-скрипт (99%
проблем в жизни решается специальным руби-скриптом кстати ), который запускаю ручками время от времени. Этот скрипт скачивает
все DNS-записи, полную структуру опенстека (сети, диски, сервера) и сравнивает результат с файлами состояния. Если различий
нет, то значит, каждый объект управляется терраформом и соответственно лежит в красивом виде в репозитарии as a code. Это очень приятно
осознавать.