Ось в цих пара рядків і є проблеми, бо кожний програміст бачить код по своєму, та стандарти краси різні.
Дуже стало цікаво, що за обʼєкт ви зберігаєте у yaml? Я також інколи використовую yaml, але це більше для конфігурації, щоб не робити багато змінних у головному коді.
Єдине на данний момент, що мені не подобається в Terraform, так це коли треба створити нетворк, запустити кубернет, та задеплоїти Ingress, External DNS та CertManager. І потім, якщо наприклад щось ломається в кубернеті, то вcе виконання падає, і не можна запустити банальний plan, бо Terraform не може зчитати данніе з кубернета. Це як на мене недолік.
Євген, у вас на сайті проблеми з сертифікатом, браузер лається, каже що з"єднанню не можна довіряти.
Якщо подивитись в код Crossplane, то вони використовують Terraform.
Колезі подобається використовувати Helm з Crossplane, а основна мотивація, що це все можна запускати в ArgoCD.
Стосовно Pulumi, цікава штука, але я більше скиляюсь до ТФ, так як в ньому ну дуже складно писати поганий код. А ось дай цю можливість писати на мовах программування, то все, хана. У нас одна команда розробників вирішила піти далі, та переписала пайплайн для ГітЛабу на джаваскріпт, динамічний пайплайн, в підтримці хана, скільки зайвого. Інколи здається, що люди ускладнюють речі, щоб їх неможливо було позбутись.
На моє питання колезі, а як ми будемо запускати цей кластер та його конфігурувати, він відповів — ТФ :-)
Саме так.
Декілька років підтримую, розгортаю та покращую кубернет кластера. Нічого складного в цьому не побачив. Залежить від того, ще саме ви це робите. Якщо АВС, то це не проблема, в Гугл трішки складніше. Є багато готових рішень в терафоом, запустив, і воно працює. Так, треба налагоджувати інгрес, моніторинг, але ж ви робите все під себе. Що подобається, те і використовуєте.
Як на мене, складнощі виникають, коли розробники не знають, як це все загорнути в образ, а у мене замало знань в розробці, щоб зрозуміти як це зібрати до купи. Із останнього, було весело з Nidejs + nx. Ще та задача.
Зі свого досвіду скажу, що ГітЛаб гарний для CI, але деплоймент повинен відбуватися в інших місцях. Тому зберігати секрети у ГітЛаб саме то. Vault додає більше роботи та вимогає зайвої підтримки.
А якщо хтось потім зробить зміну до пайплану, та додасть `echo $YOUR_SECRET`?
Я б ще додав такий пункт як аналіз образу за допомогою утіліти Dive (github.com/wagoodman/dive) Нещодавно її знайшов та зміг значно зменшити кінцевий розмір багатьох образів в компанії. Допомогає подивитись кожен прошарок образу, які файли були додані, або видалені. Також, її можно запускати автоматично в CI. Рекомендую.
Так, у GCP провайдері.