Terraform: добавьте специфичные для ресурса секреты - PullRequest
2 голосов
/ 12 октября 2019

Я знаю, что вы можете передавать общие секреты ресурсу через терраформные переменные. Есть ли способ настроить секреты, которые изменяются на уровне ресурсов?

В частности, я использую terraform в качестве серверной части приложения, которое позволяет пользователям настраивать сервер с паролем. Этот пароль отличается для каждого сервера. Есть ли способ установить что-то вроде self.password для одного экземпляра, чтобы он:

  1. не был виден в репозитории 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}"
    ]
  }
}

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете использовать провайдера random_password для генерации случайной строки. Справка: https://www.terraform.io/docs/providers/random/r/password.html

Не уверен, что ваш сценарий использования требует управления или хранения пароля, но это также возможно в зависимости от ваших потребностей. Я вижу, что вы используете DO для предоставления ресурсов.

Возможно, вы можете установить Hashicorp Vault для управления случайно сгенерированными паролями. Я парень из AWS, поэтому я бы добавил пароль в менеджер секретов.

...