Как передать содержимое учетной записи службы GCP key.json в Terraform Cloud, не передавая его в VCS? - PullRequest
2 голосов
/ 22 декабря 2019

В соответствии с документацией провайдера Google ключ учетной записи службы должен быть предоставлен Terraform с использованием переменной среды GOOGLE_CLOUD_KEYFILE_JSON. При использовании Terraform Cloud это проблема для меня, поскольку это означает сохранение ключа учетной записи службы в репозитории и использование переменной среды для задания пути к файлу ключа.

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

Ответы [ 2 ]

2 голосов
/ 22 декабря 2019

Прошло много времени с момента его настройки, но вы можете установить все содержимое файла в качестве переменной среды GOOGLE_CLOUD_KEYFILE_JSON , и это работает. Убедитесь, что вы установили его как чувствительный. Вы должны удалить все новые строки из файла, чтобы он заработал.

0 голосов
/ 22 декабря 2019

var.ACCOUNT_JSON - это путь к json-файлу учетной записи, который вы можете оставить вне репозитория git.

variable "ACCOUNT_JSON" {}
variable "PROJECT_ID" {}


provider "google" {
  credentials = file(var.ACCOUNT_JSON)
  project     = var.PROJECT_ID
}

Вы можете выполнить export TF_VAR_ACCOUNT_JSON=../accoutn.json, в этом случае эта команда не будет сохранена в истории,и ACCOUTN_JSON будет доступен для для использования в terraform .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...