Skip to content

Commit 31c52d6

Browse files
committed
migrate
1 parent 079f6aa commit 31c52d6

File tree

9 files changed

+60
-30
lines changed

9 files changed

+60
-30
lines changed

content/terraform-docs-common/data/cloud-docs-nav-data.json

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -145,24 +145,14 @@
145145
]
146146
},
147147
{
148-
"title": "Group with projects",
148+
"title": "Scope access with projects",
149149
"routes": [
150-
{ "title": "Overview", "path": "projects" },
151-
{
152-
"title": "Manage projects",
153-
"path": "projects/manage"
154-
},
155-
{ "title": "Best practices", "path": "projects/best-practices" }
156-
]
157-
},
158-
{
159-
"title": "Variables",
160-
"routes": [
161-
{ "title": "Overview", "path": "variables" },
162-
{
163-
"title": "Managing variables",
164-
"path": "variables/managing-variables"
165-
}
150+
{ "title": "Overview", "path": "projects" },
151+
{
152+
"title": "Manage projects",
153+
"path": "projects/manage"
154+
},
155+
{ "title": "Best practices", "path": "projects/best-practices" }
166156
]
167157
},
168158
{
@@ -202,8 +192,8 @@
202192
]
203193
},
204194
{
205-
"title": "Stacks or workspaces",
206-
"path": "workspace-or-stack"
195+
"title": "Compare Stacks and workspaces",
196+
"path": "stack-workspace"
207197
},
208198
{
209199
"title": "Use workspaces",
@@ -263,6 +253,16 @@
263253
]
264254
},
265255
{ "title": "Best practices", "path": "workspaces/best-practices"},
256+
{
257+
"title": "Configure variables",
258+
"routes": [
259+
{ "title": "Overview", "href": "variables" },
260+
{
261+
"title": "Managing variables",
262+
"href": "variables/managing-variables"
263+
}
264+
]
265+
},
266266
{ "title": "Health", "path": "workspaces/health" },
267267
{
268268
"title": "Terraform configurations",
@@ -602,6 +602,16 @@
602602
{ "title": "Review deployment plans", "path": "stacks/deploy/runs" }
603603
]
604604
},
605+
{
606+
"title": "Configure variables",
607+
"routes": [
608+
{ "title": "Overview", "href": "variables" },
609+
{
610+
"title": "Managing variables",
611+
"href": "variables/managing-variables"
612+
}
613+
]
614+
},
605615
{
606616
"title": "Use dynamic provider credentials",
607617
"routes": [

content/terraform-docs-common/docs/cloud-docs/migrate/index.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,17 @@ Refer to the following external article for an example of how to create a script
9090
> **Hands-on:** Complete the [Migrate to HCP Terraform in bulk](/terraform/tutorials/cloud/bulk-migrate-hcp) tutorial to get started with tf-migrate.
9191
9292
You can use the Terraform migrate CLI tool to automatically migrate state to HCP Terraform and Terraform Enterprise. The tool does not ship with HCP Terraform. You must download and install the binary for the CLI tool separately. Refer to the [Terraform migrate documentation](/terraform/cloud-docs/migrate/tf-migrate) for more information.
93+
94+
95+
<!-- BEGIN: TFC:only name:stacks-tfe -->
96+
97+
## Migrate a workspace to a Stack
98+
99+
In HCP Terraform, there are two ways of organizing your infrastructure:
100+
101+
- Workspaces are ideal for managing a self-contained infrastructure of one Terraform root module.
102+
- Stacks are ideal for managing multiple infrastructure modules and repeating that infrastructure at scale.
103+
104+
If you have an existing workspace that you want to convert to a Stack, you can use the Terraform migrate CLI to migrate your workspace state and configuration to a Stack in HCP Terraform. Refer to the [Terraform migrate CLI](/terraform/migrate/stacks) to learn more.
105+
106+
<!-- END: TFC:only name:stacks-tfe -->

content/terraform-docs-common/docs/cloud-docs/overview/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ In HCP Terraform, there are two main ways of organizing your infrastructure:
6969
- Workspaces are ideal for managing a self-contained infrastructure of one Terraform root module.
7070
- Stacks are ideal for managing multiple infrastructure modules and repeating that infrastructure at scale.
7171

72-
To learn if a workspace or a Stack works best for your use case, refer to [Choose workspaces or Stacks](/terraform/cloud-docs/workspace-or-stack).
72+
To learn if a workspace or a Stack works best for your use case, refer to [Choose workspaces or Stacks](/terraform/cloud-docs/stack-workspace).
7373

7474
Since teams must share responsibilities and awareness to avoid single points of failure, working with Terraform in a team requires a remote workflow. At minimum, state must be shared; ideally, Terraform should execute in a consistent remote environment.
7575

content/terraform-docs-common/docs/cloud-docs/workspace-or-stack.mdx renamed to content/terraform-docs-common/docs/cloud-docs/stack-workspace.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
page_title: Choose workspaces or Stacks in HCP Terraform
2+
page_title: Comparing Stacks and workspaces in HCP Terraform
33
description: |-
44
Learn about workspace and Stacks, the ways of managing infrastructure in HCP Terraform. Determine if a Stack or a workspace is best for your use case.
55
tfc_only: true
66
---
77

8-
# Choose workspaces or Stacks
8+
# Compare Stacks and workspaces
99

1010
In HCP Terraform, there are two ways of organizing your infrastructure:
1111

@@ -28,9 +28,9 @@ Workspaces provide a hard separation between environments because each workspace
2828

2929
If your team uses a branching strategy where each environment maps to a separate Git branch, workspaces can align with your workflow. You can promote changes across environments through pull requests between branches. Workspaces also work well when CI/CD pipelines control promotion across environments, especially when a promotion must be gated by approvals or automated test outcomes.
3030

31-
Previously, those looking to deploy repeatable infrastructure using HCP Terraform would create separate workspaces and then use run triggers or other automation tools to coordinate changes between them. However, workspaces are not truly coupled to each other, hampering your ability to flexibly manage infrastructure as it scales. If you have a tightly orchestrated infrastructure that changes across different environments, we recommend defining a Stack.
31+
Previously, those looking to deploy repeatable infrastructure using HCP Terraform would create separate workspaces and then use run triggers or other automation tools to coordinate changes between them. However, workspaces are not truly coupled to each other, hampering your ability to flexibly manage infrastructure as it scales. If you have a tightly orchestrated infrastructure that changes across different environments, we recommend defining a Stack. If you want to migrate an existing workspace to a Stack, refer to the [Terraform migrate CLI](/terraform/migrate/stacks).
3232

33-
If you want to migrate an existing workspace to a Stack, refer to the [Terraform migrate CLI](#TODO). Workspaces do support validating your code with policies, drift detection, and a range of other features that Stacks do not support. Refer to [Feature support](#feature-support) to learn more.
33+
Workspaces do support validating your code with policies, drift detection, and a range of other features that Stacks do not support. Refer to [Feature support](#feature-support) to learn more.
3434

3535
## When to use Stacks
3636

@@ -45,7 +45,7 @@ We recommend using Stacks if your use case meets any of the following conditions
4545
- You repeat infrastructure across different environments, regions, or accounts that require consistent and synchronized deployments.
4646
- You have a tightly orchestrated infrastructure that changes across different environments.
4747

48-
Stacks codify the entire behavior of your infrastructure lifecycle within version-controlled configuration files. To learn more about Stacks and review examples, refer to [Stack use cases](/terraform/language/stacks/use-cases). If you want to migrate an existing workspace to a Stack, refer to the [Terraform migrate CLI](/terraform/language/stacks/deploy/conditions).
48+
Stacks codify the entire behavior of your infrastructure lifecycle within version-controlled configuration files. To learn more about Stacks and review examples, refer to [Stack use cases](/terraform/language/stacks/use-cases). If you want to migrate an existing workspace to a Stack, refer to the [Terraform migrate CLI](/terraform/migrate/stacks).
4949

5050
Stacks were designed to simplify and scale Terraform workflows that become complex or repetitive using workspaces. When you use a Stack, HCP Terraform automatically recognizes the dependency between components, automatically deferring the component's plan and apply steps until it can complete them successfully. Learn more about how Stacks plan [deferred changes](/terraform/cloud-docs/stacks/deploy/runs#deferred-changes).
5151

content/terraform-docs-common/docs/cloud-docs/stacks/create.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ You can create a Stack using any of the following methods:
3131
- The HCP Terraform UI
3232
- The Terraform CLI
3333

34+
If you want to migrate an existing workspace to a Stack, refer to the [Terraform migrate CLI](/terraform/migrate/stacks).
35+
3436
If you are creating a Stack in an organization for the first time, you must enable Stacks for your organization. Navigate to your organization’s **Settings** page, and in the **General** settings, check the box next to **Stacks**.
3537

3638
### HCP Terraform workflow

content/terraform-docs-common/docs/cloud-docs/stacks/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Stacks let you split your Terraform configuration into components and then deplo
1313

1414
## Background
1515

16-
Stacks are an alternative way to organize your infrastructure and fundamentally differ from [HCP Terraform workspaces](/terraform/cloud-docs/workspaces). Stacks are not built on top of HCP Terraform workspaces, but can exist alongside them in the same project. To learn if a workspace or Stack is better for your use case, refer to [Choose a workspace or Stack](/terraform/cloud-docs/workspace-or-stack).
16+
Stacks are an alternative way to organize your infrastructure and fundamentally differ from [HCP Terraform workspaces](/terraform/cloud-docs/workspaces). Stacks are not built on top of HCP Terraform workspaces, but can exist alongside them in the same project. To learn if a workspace or Stack is better for your use case, refer to [Choose a workspace or Stack](/terraform/cloud-docs/stack-workspace).
1717

1818
> **Hands-on**: Try out the [Deploy a Stack with HCP Terraform](/terraform/tutorials/cloud/stacks-deploy) tutorial to get started with Stacks quickly.
1919

content/terraform-docs-common/docs/cloud-docs/users-teams-organizations/teams/manage.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,6 @@ You can grant teams permissions to manage a project and the<!-- BEGIN: TFC:only
104104

105105
## Manage organization access
106106

107-
Organization owners can grant teams permissions to manage policies, projects, workspaces, team and organization membership, VCS settings, private registry providers and modules, and policy overrides across an organization. Refer to [Organization Permissions](/terraform/cloud-docs/users-teams-organizations/permissions#organization-permissions) for details.
107+
Organization owners can grant teams permissions to manage policies, projects, workspaces,<!-- BEGIN: TFC:only name:stacks-tfe --> Stacks,<!-- END: TFC:only name:stacks-tfe --> team and organization membership, VCS settings, private registry providers and modules, and policy overrides across an organization. Refer to [Organization Permissions](/terraform/cloud-docs/users-teams-organizations/permissions#organization-permissions) for details.
108108

109109
[permissions-citation]: #intentionally-unused---keep-for-maintainers

content/terraform-docs-common/docs/cloud-docs/vcs/azure-devops-services.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Ensure that the Azure DevOps organization you intend to link with HCP Terraform
138138

139139
## Next steps
140140

141-
After configuring Azure DevOps Services access for HCP Terraform, you can create Terraform workspaces<!-- BEGIN: TFC:only name:stacks-tfe --> or Stacks<!-- END: TFC:only name:stacks-tfe -->based on your organization's repositories..
141+
After configuring Azure DevOps Services access for HCP Terraform, you can create Terraform workspaces<!-- BEGIN: TFC:only name:stacks-tfe --> or Stacks<!-- END: TFC:only name:stacks-tfe -->based on your organization's repositories.
142142

143143
### Migrate existing workspaces to connect to ADO Organization with the new MS Entra App
144144

content/terraform-docs-common/docs/cloud-docs/vcs/private.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ Connect HCP Terraform to your private VCS provider using a self-hosted HCP Terra
1515

1616
## Background
1717

18+
<Note>
19+
20+
Only workspaces can connect to a private VCS provider, Stacks do not support them.
21+
22+
</Note>
23+
1824
You can use HCP Terraform agents to connect HCP Terraform to your private VCS providers. The following are examples of private VCS providers that you can manage locally on your private network:
1925

2026
- GitHub Enterprise
@@ -23,8 +29,6 @@ You can use HCP Terraform agents to connect HCP Terraform to your private VCS pr
2329

2430
For more information about HCP Terraform agents, refer to the [HCP Terraform agent documentation](/terraform/cloud-docs/agents).
2531

26-
Note that Stacks do not support private VCS providers, only workspaces can connect to them.
27-
2832
## Requirements
2933

3034
You must meet the following requirements to configure a connection to your private VCS provider:

0 commit comments

Comments
 (0)