Terraform
Terraform описує інфраструктуру у файлах конфігурації та керує ресурсами через провайдери. Я використовую його в інфраструктурі DigiPulse, щоб налаштування сервісів було легше переглядати й відтворювати.
Конфігурація та план змін
Docker-провайдер дає Terraform доступ до Docker-ресурсів. Спільна конфігурація може описувати схожі середовища з різними змінними. Для кожного потрібен власний план з урахуванням поточного стану: збережений plan не є шаблоном для іншого середовища.
Робочі простори й секрети
CLI workspaces розділяють стан, але не права доступу. Файли стану й плану можуть містити секрети навіть для значень із позначкою sensitive. Якщо середовища потребують суворішої ізоляції, потрібні окремі облікові дані, захищене сховище стану та належні права доступу.
Інфраструктура та випуски застосунку
Конфігурація інфраструктури описує ресурси та зв'язки між ними, а випуски застосунку можуть проходити через окремий процес CI/CD. Terraform виявляє відмінності між описаним і фактичним станом під час створення плану, але не запобігає ручним змінам постійно. План потрібно переглядати перед застосуванням, особливо якщо він передбачає заміну чи видалення ресурсів.
