Я пишу модуль terraform, который будет выбирать значение на карте на основе переданного ему ключа. Ничего необычного.
Однако значения на этой карте являются секретными и не меняются в зависимости от того, кто вызывает модуль. Простой способ сохранить эти секреты в секрете состоит в том, чтобы определить переменную как карту в файле variables.tf в модуле, поместить ключи / значения в файл terraform.tfvars в модуле, .gitignore terraform.tfvars и зашифровать его в terraform.tfvars.gpg или что-то в этом роде.
Но это не сработает, потому что у меня нет значения по умолчанию для переменной в модуле. terraform ожидает, что переменная будет установлена вызывающей стороной. Я могу определить переменную в вызывающей стороне без значения, добавить ее к вызову и либо указать вручную --var-file, либо включить terraform.tfvars в вызывающую программу. Но это означает, что пользователь должен помнить вызов magi c --var-file или дублирование terraform.tfvars везде, где используется мой новый модуль. Запоминание строк и дублирования magi c не являются хорошими вариантами.
Возможно ли для модуля использовать его собственные tfvars для заполнения переменных, которые ему не передаются?