а чем плохи воркспейсы для разделения стейта? я думал делать как вы советуете, выдавать стейт через параметр, но воркспейсы тот же функционал обеспечивают, о чем там и написано в мануале, это их единственное предназначение фактичеси.
воркспейс очень простой механизм как пробка. и в тоже время с ним легко выстрелить себе в ногу.
то как это заложили в hashicorp - один бакет, много стейтов. это из коробки работает вполне норм. но реалии другие. Люди хотят много аккаунтов, несколько бакетов, строгие разграничения.
это можно провернуть и с workspace'ами, и у меня даже есть такой проект к сожалению, но он мне не нравится. слишком сложно объяснить админам заказчика. как разделить и продолжать использовать workspaces
красивее получается с враппером и default workspaces, всё понятно для всех. сложность только в секретах и если люди хотят руками дёргать скрипты без ci/cd и доп тулов. я про gpg, ротацию секретов, новые рабочие руки.
можно и terragrunt прикрутить...и открутить :) прикрутить свою балалайку.
имхо лучше террагрант, на одной из прошлых работ накостылили свой враппер на питоне который для каждого env dev/prod симлинкал код, устанавливал переменные и т.д.
имхо если уж костылить то лучше через direnv устанавливать TF_CLI_ARGS и другие переменные и т.д. в зависимости от текущей директории, это хотя бы до какой-то степени стандартный инструмент а не левый скрипт
имхо лучше террагрант, на одной из прошлых работ накостылили свой враппер на питоне который для каждого env dev/prod симлинкал код, устанавливал переменные и т.д.
имхо если уж костылить то лучше через direnv устанавливать TF_CLI_ARGS и другие переменные и т.д. в зависимости от текущей директории, это хотя бы до какой-то степени стандартный инструмент а не левый скрипт
python слишком сложен для понимания. нет ничего плохого в простом bash враппере на ~300 строк примитивного кода. в основном комментариев.
я уже говорил - terragrunt слишком сложно для людей не сведующих) тут им на два часа terraform рассказываешь, а потом какой-то ещё terragrunt зачем-то. они головами кивают, а потом ещё пару дней мучают тебя вопросами и просят накидать простенький скрипт.
зависит от кейса. если это примитивный враппер или простая задача - да. если это уже требует более сложной логики - то питон. если надо ещё и чтобы надолго и распределённо - то теперь ещё и go)
имхо зависит от аудитории ещё, иногда лучше баш скрипт или го бинарь сделать чем питон с зависимостью на сам питон и либо requirements.txt либо setup.py и т.д.