Terraform Workspaces модуль, который управляет конфигурацией и жизненным циклом всех ваших облачных рабочих пространств Terraform. Он предназначен для использования из специального рабочего пространства Terraform Cloud, которая обеспечит и управляет остальными рабочими пространствами с использованием кода Terraform (IAC).
terraform-tfe-workspaces
-это проект с открытым исходным кодом, опубликованный Scale Factory.
В настоящее время мы считаем, что этот проект активно поддерживается, и мы добавим новые функции, сохраняем его безопасность и готовы к использованию в производственных средах.
Мы посмотрим на любые проблемы или PR, которые вы открываете, и вернемся к вам, как только сможем. Мы не предлагаем официального SLA, но мы периодически проверяем этот проект.
Рабочие пространства, настроенные этим модулем, скорее всего, потребуют учетных данных для аутентификации для различных служб, которые вы хотите использовать.
Например, если мы настраиваем рабочую область, которая требует учетных данных AWS, вы настроите использование следующего кода:
main.tf :
terraform {
required_version = " ~> 1.0 "
backend "remote" {
organization = " scalefactory "
workspaces {
name = " terraform-cloud "
}
}
}
module "workspaces" {
source = " ../modules/terraform-tfe-workspaces "
organization = " scalefactory "
oauth_token_id = var . oauth_token_id
vcs_org = " scalefactory "
vcs_repo = " terraform-infra "
# tf_version = "1.x.y"
workspaces = var . workspaces
slacks = var . slacks
triggers = var . triggers
TFC_WORKSPACE_NAME = var . TFC_WORKSPACE_NAME
var_sets = var . var_sets
vars = {
AWS_ACCESS_KEY_ID = var.aws_access_key_id
}
sec_vars = {
AWS_SECRET_ACCESS_KEY = var.aws_secret_access_key
}
}
terraform.auto.tfvars :
workspaces = {
shared = " terraform/shared "
}
var_sets = {
test = {
desc = " Testing "
global = false
vars = {
a = {
val = 1
sensitive = false
desc = " woohoo "
category = " env "
}
b = {
val = 2
sensitive = true
}
}
workspaces = [
" workspace1 " ,
" workspace2 " ,
]
}
}
Сообщите о проблемах/вопросах/запросах функций в разделе «Проблемы».
Полные рекомендации по внесению вклад здесь рассмотрены.
Apache 2 Licensed. Смотрите лицензию для полной информации.
Имя | Версия |
---|---|
терраформ | ~> 1.0 |
тк | ~> 0,50,0 |
Имя | Версия |
---|---|
тк | ~> 0,50,0 |
Имя | Тип |
---|---|
tfe_notification_configuration.slack | ресурс |
tfe_run_trigger.trigger | ресурс |
tfe_variable.sec_vars | ресурс |
tfe_variable.var_sets | ресурс |
tfe_variable.vars | ресурс |
tfe_variable_set.var_sets | ресурс |
tfe_workspace.workspace | ресурс |
tfe_workspace_variable_set.map | ресурс |
tfe_workspace.current | источник данных |
tfe_workspace_ids.var_sets | источник данных |
Имя | Описание | Тип | По умолчанию | Необходимый |
---|---|---|---|---|
Tfc_workspace_name | TFC Workspace Имя из Env | string | null | нет |
ALLIGHT_DESTORY_PLAN | Можно ли быть в очереди в рабочей области в очереди | bool | true | нет |
excessments_enabled | Регулярно проводите оценки здоровья, такие как обнаружение дрейфа в рабочей области | bool | false | нет |
auto_apply | Автоматически применять изменения, когда план терраформ будет успешным | bool | false | нет |
execution_mode | Terraform Worskapce выполнение больше: удаленное, локальное или агент | string | "remote" | нет |
oauth_token_id | ID токена OAuth для подключения к VCS | string | n/a | да |
организация | Организация TF для создания рабочих мест под | string | n/a | да |
sec_vars | Карта определяет чувствительные переменные рабочей области | map(any) | {} | нет |
брюки | Карта определения вариантов уведомления об ослаблении | map(any) | {} | нет |
spulative_enabled | Планы запуска погоды по запросам | bool | true | нет |
structured_run_output_enabled | Должно ли это рабочее пространство показывать выходные сигналы от прогонов Terraform с использованием улучшенного пользовательского интерфейса, когда он доступен | bool | false | нет |
tag_names | Список имен тегов рабочей области | list(any) | [] | нет |
tf_version | Версия Terraform для использования в рабочей области | string | null | нет |
триггеры | Карта для TFE Trigger Relations Workspace-> Workspace2 | map(any) | {} | нет |
var_sets | Карта определяющих наборов переменных | any | {} | нет |
варс | Карта определяет переменные рабочей области | map(any) | {} | нет |
VCS_ORG | Организация GitHub, которую репозитории живут под | string | n/a | да |
VCS_REPO | Имя репозитория GitHub, которое поддерживает это рабочее пространство | string | n/a | да |
рабочие пространства | Карта рабочего пространства, где мы определяем рабочее пространство и его путь | map(any) | {} | нет |
Имя | Описание |
---|---|
work_vars | n/a |