Как сохранить сотни различных конфигов Terraform? - PullRequest
0 голосов
/ 23 октября 2019

мы создали шаблон Terraform, который мы будем использовать в будущем много десятков раз в разных рабочих пространствах. Каждое рабочее пространство будет иметь отдельный файл конфигурации.

Теперь мы хотели бы автоматизировать эту процедуру и подумать о том, чтобы сохранить файлы конфигурации в Git Repo.

У кого-нибудь есть лучший способ храненияфайлы конфигурации в Git Repo и запуск рабочего процесса CICD (DevOps Azure)?

Как правило, мы хотели бы применить изменения только для рабочих пространств, которые изменили конфигурацию.

1 Ответ

1 голос
/ 23 октября 2019

У команды terraform plan and apply есть возможность передать вам файл tfvars, который вы хотите использовать. Итак, что-то вроде этого:

terraform apply --var-file=workspace.tfvars

Таким образом, в конвейере вы бы взяли свои артефакты шаблона terrafom и ваши файлы конфигурации. Затем я бы установил переменную TF_WORKSPACE, чтобы принудительно заставить ваше рабочее пространство, и я бы также сделал так, чтобы ваши файлы tfvars соответствовали имени рабочего пространства, чтобы вы могли повторно использовать переменную в вашей команде apply. Это заставит ваше рабочее пространство и файл конфигурации совпадать.

Для запуска, когда эти файлы были изменены, потребуется триггер пути , который будет запускать эти изменения.

Я не вижу никакого вреда в работе Terraform каждый раз, независимо от того, происходят ли изменения. Худшим возможным результатом будет то, что кто-то внес изменения, которых нет в Terraform, и они отменяются.

...