This repo contains org/project configuration (tfvars) and a thin wrapper that invokes the reusable onboarding module. Use this to scale many orgs/projects by editing only tfvars, while pinning a module version.
- main.tf: module wrapper
- variables.tf: input declarations
- versions.tf: Terraform version pin
- tfvars/examples/*.tfvars: example org configurations
terraform init
terraform plan -var-file=tfvars/examples/viking-poc.tfvars
terraform apply -var-file=tfvars/examples/viking-poc.tfvars- Use
terraform loginor setTFE_TOKEN.
- Pin the module source to a tag/commit for stability.
- Do not store secrets in tfvars; use HCP Terraform variables for sensitive data.
| Name | Version |
|---|---|
| terraform | >= 1.6.0 |
| terraform | >= 1.6.0 |
| tfe | ~> 0.58.0 |
No providers.
| Name | Source | Version |
|---|---|---|
| hcp_onboarding | ../terraform-hcp-workspace-config | n/a |
No resources.
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| create_projects | If true, create TFE projects. If false, look up existing projects by name. | bool |
true |
no |
| create_teams | If true, create TFE teams. If false, look up existing teams by name. | bool |
true |
no |
| environments | List of environments (e.g., ['dev', 'staging', 'prod']) | list(string) |
n/a | yes |
| organization_name | Name of the HCP Terraform organization | string |
n/a | yes |
| projects_config | Declarative configuration for projects, workspaces, and team access (passed to module) | map(object({ |
n/a | yes |
| teams_config | Teams to create and their optional org-level permissions | map(object({ |
{} |
no |
No outputs.