Архів теґу: Terraform

Terraform: використання Ephemeral resources та Write-only attributes

3 Вересня 2025
 

 В Terraform ephemeral resources та write-only arguments з’явились давно, ще у версії 1.10, але не було нагоди про них написати детальніше. Основна ідея їх – не залишати “слідів” в state-файлі, що особливо корисно для паролів або токенів, бо дані існують тільки під час виконання apply самого Terraform в його пам’яті. Втім, для їх використання є… Читати далі »

Terraform: апгрейд модуля AWS EKS Terraform module v20.x на v21.x

6 Серпня 2025
 

 Версія v21.0.0 додала підтримку AWS Provider Version 6 Документація – тут>>>. З основних змін в модулі AWS EKS – це заміна IRSA на EKS Pod Identity для Karpenter sub-module: Native support for IAM roles for service accounts (IRSA) has been removed; EKS Pod Identity is now enabled by default Плюс “The `aws-auth` sub-module has been… Читати далі »

Terraform: “no available releases match the given constraints”

24 Липня 2025
 

 Доволі часта помилка при апгрейді версій модулів, коли маємо обмеження на версії модулів чи провайдерів, і вони не співпадають між собою. The Issue В цьому випадку я змержив Pull Requests від Renovate і не звернув увагу на те, що terraform-aws-modules/terraform-aws-lambda потребує hashicorp/aws provider версії 6: І змержив спочатку апгрейд Lambda до 8 версії. Після цього… Читати далі »

Terraform: використання import, та деякі неочевидні нюанси

14 Червня 2025
 

 Terraform має два способи перенести існуючі ресурси під управління Terraform – з Terraform CLI і командою terraform import, або використовуючи ресурс import. Для чого нам може знадобитись імпорт ресурсів? якщо у нас вже є вручну налаштований (“clickops”) якийсь сервіс, який ми хочемо перенести під управління Terraform (робили як Proof of Concept, а потім пішло в… Читати далі »

Terraform: типи даних, цикли, індекси, та “resource must be replaced”

4 Червня 2025
 

 У нас є автоматизація для AWS IAM, яка створює EKS Access Entries для підключення AWS IAM Users до кластеру. Не пам’ятаю, чи я писав її сам, чи нагенерила якась LLM (хоча судячи з коду – писав сам 🙂 ), але згодом виявилась неприємна особливість того, як ця автоматизація працює: при видаленні юзера Terraform починає робити… Читати далі »

Terraform: менеджмент EKS Access Entries та EKS Pod Identities

15 Липня 2024
 

 Отже, маємо кластер AWS Elastic Kubernetes Service з Authentication mode EKS API and ConfigMap, який ми включили під час апгрейду Terraform-модуля з версії 19.21 на 20.0. Перед тим, як переключати EKS Authentication mode повністю на API – нам потрібно з aws-auth ConfgiMap перенести всіх юзерів і ролі в Access Entries EKS-кластера. І ідея зараз така,… Читати далі »

Terraform: EKS та Karpenter – upgrade версії модуля з 19.21 на 20.0

10 Липня 2024
 

 Наче звична задача – оновити версію модулю Terraform, але в terraform-aws-modules/eks версії 20.0 були досить великі зміни з breaking changes. Зміни стосуються аутентифікації та авторизації в AWS IAM та AWS EKS, які розбирав в пості AWS: Kubernetes та Access Management API – нова схема авторизації в EKS. Але там ми все робили руками, аби взагалі… Читати далі »

AWS: RDS з IAM database authentication, EKS Pod Identities та Terraform

27 Червня 2024
 

 Готуємось мігрувати базу даних нашого Backend API з DynamoDB до AWS RDS з PostgreSQL, і нарешті вирішив спробувати що ж таке AWS RDS IAM database authentication, який з’явився здається ще десь у 2021. IAM database authentication, як, в принципі, можна здогадатись з назви, дозволяє нам виконувати аутентифікацію в RDS за допомогою AWS IAM, а не… Читати далі »

Dependabot: GitHub та Terraform versions management

29 Травня 2024
 

 З часом, коли проект росте, то рано чи пізно постане питання про апгрейд версій пакетів, модулів, чартів. Робити це вручну, звісно, можна – але тільки до якоїсь межі, бо врешті-решт ви просто фізично не зможете моніторити та оновлювати все. Для автоматизації таких процесів існує багато рішень, але найчастіше зустрічаються два – Renovate та Dependabot. За… Читати далі »

GitHub Actions: деплой Terraform з review запланованих змін

7 Березня 2024
 

 У пості GitHub Actions: деплой Dev/Prod оточень з Terraform я вже описував те, як можна реалізувати CI/CD для Terraform з GitHub Actions, але в тому рішенні є один суттєвий недолік: немає можливості зробити review змін перед тим, як їх застосувати з terraform apply. GitHub Actions має можливість використання Reviewing deployments для approve/reject, проте ця можливість… Читати далі »