понедельник, 23 октября 2023 г.

Первые шаги с OpenTofu

Из-за недавней смены лицензии Terraform возникла неопределенность с его дальнейшей судьбой в коммерческих проектах. В качестве ответа был создан форк OpenTofu, который будет развиваться под эгидой Linux Foundation и я попробовал оценить готовность OpenTofu с точки зрения drop-in replacement для Terraform.

Насколько мне известно, OpenTofu был форкнут с Terraform 1.5.5 (последняя версия под лицензией MPL) и никакой разницы с Terraform 1.5.x быть не должно. Я тестировал два последних релиза OpenTofu (1.6.0-alpha2 и 1.6.0-alpha3) и на первый взгляд достаточно создать алиас terraform на tofu чтобы все просто заработало, но всплыли нюансы.

Начну пожалуй с "детских болячек" - инфраструктура проекта иногда работает нестабильно и инициализация отваливается по таймауту

Мне пришлось несколько раз перезапускать tofu init чтобы избавиться от этой ошибки.

Если конфигурация уже развернута Terraform и попытаться переключиться на OpenTofu, то в моём случае не заработало, ругаясь "Invalid provider registry host"

С чистого листа конфигурация развернулась без ошибок, но при попытке переключиться обратно на Terraform последний стал ругаться на несовместимость провайдеров, т.к. в стейте есть указания на registry.opentofu.org и чистку нужно делать также через OpenTofu. Не стоит пробовать это делать где-то кроме песочницы.

Если же не пытаться смешивать Terraform и OpenTofu то локально никаких других проблем не заметил. Когда переключил тестовый пайплайн с Terraform на OpenTofu, то нашёл ошибку при установке модулей (#750 - Unable to install modules in containers without Git binary) и сразу сделал свой первый пул-реквест в OpenTofu.

В общем не стоит ожидать многого от альфы - с большего работает, но нужно быть готовым к проблемам, писать баг-репорты и, еще лучше, слать пул-реквесты.

Комментариев нет:

Отправить комментарий