Я знаю, что вы можете передавать общие секреты ресурсу через терраформные переменные. Есть ли способ настроить секреты, которые изменяются на уровне ресурсов?
В частности, я использую terraform в качестве серверной части приложения, которое позволяет пользователям настраивать сервер с паролем. Этот пароль отличается для каждого сервера. Есть ли способ установить что-то вроде self.password
для одного экземпляра, чтобы он:
- не был виден в репозитории github, где я отслеживаю файлы terraform
и
Может быть изменено для каждого отдельного экземпляра.
. Сейчас я просто собираюсь создавать файлы терраформ, такие как password=var.{unique_id}_password
, но если мне кажется, что должен быть лучший способ
Более подробная информация о сценарии использования:
У меня есть веб-приложение для серверов подготовки пользователей, использующих другое веб-приложение. Пароль для этого сервера устанавливается моим приложением. Пароль настраивается прямо сейчас с помощью сценария установки, который я хотел бы перенести на terraform.
Пароли меняются для каждого сервера, поскольку пользователь может установить пароль только для своего сервера, и эта переменная не должнаэффект других ресурсов
Вот упрощенная версия ожидаемого вывода, когда пользователь пытается подготовить сервер
# new-server.tf
resource "digitalocean_droplet" "new_server" {
name = "new_server"
password = "${var.get_the_password_somehow}"
provisioner "remote-exec" {
inline = [
"set-password ${self.password}"
]
}
}