Module Terraform Workspaces qui gère la configuration et le cycle de vie de tous vos espaces de travail Cloud Terraform. Il est conçu pour être utilisé à partir d'un espace de travail Terraform Cloud dédié qui provisionnerait et gérerait le reste de vos espaces de travail en utilisant Terraform Code (IAC).
terraform-tfe-workspaces
est un projet open source publié par The Scale Factory.
Nous considérons actuellement ce projet comme étant activement entretenu et nous ajouterons de nouvelles fonctionnalités, maintenons la sécurité informatique corrigée et prête à l'emploi dans les environnements de production.
Nous allons jeter un œil à tous les problèmes ou RP que vous ouvrez et vous répondez dès que possible. Nous n'offrons aucun SLA officiel, mais nous vérifierons périodiquement ce projet.
Les espaces de travail configurés par ce module nécessiteront probablement des informations d'identification pour s'authentifier aux différents services que vous souhaitez utiliser.
Par exemple, si nous configurons un espace de travail qui nécessite des informations d'identification AWS, vous configurerez en utilisant le code suivant:
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 " ,
]
}
}
Signaler les problèmes / questions / les demandes de fonctionnalités dans la section des problèmes.
Les lignes directrices complémentaires complètes sont couvertes ici.
Apache 2 sous licence. Voir la licence pour plus de détails.
Nom | Version |
---|---|
terraform | ~> 1.0 |
tfe | ~> 0,50.0 |
Nom | Version |
---|---|
tfe | ~> 0,50.0 |
Nom | Taper |
---|---|
tfe_notification_configuration.slack | ressource |
tfe_run_trigger.trigger | ressource |
tfe_variable.sec_vars | ressource |
tfe_variable.var_sets | ressource |
tfe_variable.vars | ressource |
tfe_variable_set.var_sets | ressource |
tfe_workspace.workspace | ressource |
tfe_workspace_variable_set.map | ressource |
tfe_workspace.current | source de données |
tfe_workspace_ids.var_sets | source de données |
Nom | Description | Taper | Défaut | Requis |
---|---|---|---|---|
Tfc_workspace_name | Nom de l'espace de travail TFC de l'env | string | null | Non |
allow_destroy_plan | Si les plans de détruire peuvent être mis en file d'attente sur l'espace de travail | bool | true | Non |
Évaluations_enabled | Exécuter régulièrement des évaluations de la santé telles que la détection de dérive sur l'espace de travail | bool | false | Non |
auto_apply | S'il faut appliquer automatiquement des modifications lorsqu'un plan Terraform réussit | bool | false | Non |
exécution_mode | Terraform WorsKapce Exécution plus: distant, local ou agent | string | "remote" | Non |
oauth_token_id | ID du jeton OAuth pour la connexion VCS | string | n / A | Oui |
organisation | Organisation TF pour créer des espaces de travail sous | string | n / A | Oui |
sec_vars | Carte Définition des variables sensibles de l'espace de travail | map(any) | {} | Non |
pantalon | Carte Définition des options de notification de Slack | map(any) | {} | Non |
Speculative_enabled | Plans de course météorologiques sur les demandes de traction | bool | true | Non |
Structured_Run_output_enabled | Si cet espace de travail doit afficher la sortie de Terraform exécution en utilisant l'interface utilisateur améliorée lorsqu'il est disponible | bool | false | Non |
TAG_NAMES | Liste des noms de balises d'espace de travail | list(any) | [] | Non |
tf_version | Version de Terraform à utiliser dans Workspace | string | null | Non |
déclencheurs | Carte pour TFE Trigger Relations Workspace-> Workspace2 | map(any) | {} | Non |
var_sets | Carte Définition des ensembles de variables | any | {} | Non |
varbac | Carte Définition des variables d'espace de travail | map(any) | {} | Non |
VCS_ORG | L'organisation GitHub dans laquelle les référentiels vivent sous | string | n / A | Oui |
VCS_REPO | Le nom du référentiel GitHub qui sauvet cet espace de travail | string | n / A | Oui |
espaces de travail | Carte des espaces de travail où nous définissons l'espace de travail et son chemin | map(any) | {} | Non |
Nom | Description |
---|---|
work_vars | n / A |