Skip to content

Commit a5c3da3

Browse files
docs: Breaking down installation guide to avoid assuming AWS (#2759)
* docs: Nested AWS into `Authenticating to the Cloud` * Fix build issues. * fix: Addressing markdown lints * fix: Reworked components page into execution flow page * docs: Migrating out AWS specific security controls for Pipelines to Account Factory * docs: Updating `ci-workflows.md` with call outs for Account Factory stuff * docs: Addressing PR feedback * fix: Adding abbreviation to dictionary * docs: Nested AWS into `Authenticating to the Cloud` * Fix build issues. * docs: Moving AWS Landing Zone prereq to Account Factory docs: Adjusting redirects for moving AWS Landing Zone to Account Factory * docs: Restructured initial setup to avoid assuming AWS docs: Splitting up different cloud providers wip: Progress on stacks * feat: Set up full Azure installation guide * fix: Fixing the checkbox ids * fix: Fixing up some paper cuts in the top-level setup & installation docs * fix: Fixing path to new prerequisites for Account Factory * chore: Making sure this is pinned to `v4` before I forget * fix: Cleaning up Azure guide * docs: Adding AWS docs * fix: Cleaning up language for sidebar on GitHub * docs: WIP progress on adding Pipelines to an existing repo * docs: More troubleshooting guidance * docs: Adjusting language in `Setup & Installation` * docs: Adjusting logic for repo setup * fix: Cutting down on steps for adding a new repo * feat: Adding instructions for additional accounts and subscriptions * fix: Preventing ToC from breaking by using h3 tags * fix: Adding existing guide docs * fix: Redoing GitLab install instructions for parity with GitHub * fix: Removing unnecessary GitLab content * docs: Adding existing repository instructions for GitLab * docs: Adding note for self-hosted GitLab instance * fix: Fixing URL for pipelines machine users install * fix: Satisfying spellcheck * fix: Fixing auth links * fix: Addressing easy to address PR feedback --------- Co-authored-by: Josh Padnick <[email protected]>
1 parent f1e6ab8 commit a5c3da3

28 files changed

+3332
-901
lines changed

custom-dictionary.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,7 @@ hcledit
6262
self-hosting
6363
infrachanges
6464
Entra
65+
GLMU
66+
myprodsa
67+
azuread
68+
mysa

docs/2.0/docs/accountfactory/architecture/security-controls.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ Requires the following tokens be created:
7979
- `INFRA_ROOT_WRITE_TOKEN`: Fine-grained PAT with read/write access to infrastructure repositories
8080
- `ORG_REPO_ADMIN_TOKEN`: Fine-grained PAT with admin access for repository management
8181

82-
See [Setup via Machine Users](/2.0/docs/pipelines/installation/viamachineusers.md) for more details.
82+
See [Setup via Machine Users](/2.0/docs/pipelines/installation/viamachineusers) for more details.
8383

8484
</TabItem>
8585
<TabItem value="gitlab" label="GitLab">

docs/2.0/docs/pipelines/installation/addingnewrepo.md renamed to docs/2.0/docs/accountfactory/installation/addingnewrepo.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Initial Setup
1+
# Adding Account Factory to a new repository
22

3-
To configure Gruntwork Pipelines in a new GitHub repository, complete the following steps:
3+
To configure Gruntwork Account Factory in a new GitHub repository, the following steps are required (and will be explained in detail below):
44

55
1. Create your `infrastructure-live-root` repository using Gruntwork's GitHub template.
66
2. Configure the Gruntwork.io GitHub App to authorize your `infrastructure-live-root` repository, or ensure that the appropriate machine user tokens are set up as repository or organization secrets.
@@ -23,7 +23,7 @@ Navigate to the template repository and select **Use this template** -> **Create
2323

2424
Use the Gruntwork.io GitHub App to [add the repository as an Infra Root repository](/2.0/docs/pipelines/installation/viagithubapp#configuration).
2525

26-
If using the [machine user model](/2.0/docs/pipelines/installation/viamachineusers.md), ensure the `INFRA_ROOT_WRITE_TOKEN` (and `ORG_REPO_ADMIN_TOKEN` for enterprise customers) is added to the repository as a secret or configured as an organization secret.
26+
If using the [machine user model](/2.0/docs/pipelines/installation/viamachineusers), ensure the `INFRA_ROOT_WRITE_TOKEN` (and `ORG_REPO_ADMIN_TOKEN` for enterprise customers) is added to the repository as a secret or configured as an organization secret.
2727

2828
## Updating the Bootstrap Workflow
2929

@@ -47,5 +47,5 @@ Each of your repositories will contain a Bootstrap Pull Request. Follow the inst
4747

4848
:::info
4949

50-
The bootstrapping pull requests include pre-configured files, such as a `mise.toml` file that specifies versions of OpenTofu and Terragrunt. Ensure you review and update these configurations to align with your organization's requirements.
50+
The bootstrapping pull requests include pre-configured files, such as a `.mise.toml` file that specifies versions of OpenTofu and Terragrunt. Ensure you review and update these configurations to align with your organization's requirements.
5151
:::

docs/2.0/docs/accountfactory/installation/index.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,20 @@
22

33
## Overview
44

5-
Account Factory is automatically integrated into [new Pipelines root repositories](/2.0/docs/pipelines/installation/addingnewrepo) during the bootstrapping process.
5+
Account Factory is automatically integrated into [new Pipelines root repositories](/2.0/docs/accountfactory/installation/addingnewrepo) during the bootstrapping process.
66

77
By default, Account Factory includes the following components:
88

99
- 📋 An HTML form for generating workflow inputs: `.github/workflows/account-factory-inputs.html`
10-
10+
1111
- 🏭 A workflow for generating new requests: `.github/workflows/account-factory.yml`
12-
12+
1313
- 🗃️ A root directory for tracking account requests: `_new-account-requests`
14-
14+
1515
- ⚙️ A YAML file for tracking account names and IDs: `accounts.yml`
1616

1717
For detailed instructions on using these components, refer to the [Vending a New AWS Account Guide](/2.0/docs/accountfactory/guides/vend-aws-account).
1818

1919
## Configuring account factory
2020

2121
Account Factory is fully operational for vending new accounts without requiring any configuration changes. However, a [comprehensive reference for all configuration options is available here](/2.0/reference/accountfactory/configurations), allowing you to customize values and templates for generating Infrastructure as Code (IaC) for new accounts.
22-
23-
24-

docs/2.0/docs/pipelines/installation/prerequisites/awslandingzone.md renamed to docs/2.0/docs/accountfactory/prerequisites/awslandingzone.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import CustomizableValue from '/src/components/CustomizableValue';
22

3-
43
# Landing Zone
54

65
## Overview
76

8-
The Landing Zone component establishes an initial best-practice AWS multi-account setup.
7+
The Landing Zone component establishes an initial best-practice AWS multi-account setup for use with Gruntwork Account Factory.
98

109
## Extending AWS Control Tower
1110

@@ -242,16 +241,15 @@ Complete the following steps to prepare for Gruntwork Account Factory:
242241

243242
3. Switch to the `Users` tab, select your management user from the list and click **Next**
244243

245-
4. Select `AWSAdministratorAccess` from the list of Permission Sets, then click **Next**
244+
4. Select `AWSAdministratorAccess` from the list of Permission Sets, then click **Next**
246245

247-
5. Click `Submit` to finish assigning access to your user
246+
5. Click `Submit` to finish assigning access to your user
248247

249248
## Next steps
250249

251250
Now that Control Tower is configured, consider these next steps:
251+
252252
- [Set up IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-choose-identity-source.html) for access control.
253253
- [Apply required controls or SCPs](https://docs.aws.amazon.com/controltower/latest/userguide/controls.html).
254254
- [Install Gruntwork Pipelines](/2.0/docs/pipelines/installation/viagithubapp).
255255
- [Set up Gruntwork Account Factory](/2.0/docs/accountfactory/installation).
256-
257-

docs/2.0/docs/overview/getting-started/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Create your Gruntwork account and invite your team members to access Gruntwork r
77

88
<PersistentCheckbox id="install-df-1" label="Gruntwork Account Ready" />
99

10-
### Step 2: [Set up a Landing Zone](/2.0/docs/pipelines/installation/prerequisites/awslandingzone)
10+
### Step 2: [Set up a Landing Zone](/2.0/docs/accountfactory/prerequisites/awslandingzone)
1111

1212
Follow Gruntwork's AWS Landing Zone walkthrough to implement a best-practice multi-account setup, ready for use with DevOps Foundations.
1313

docs/2.0/docs/pipelines/architecture/execution-flow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ The orchestrator analyzes each infrastructure change in a pull request or git co
1010

1111
## Executor
1212

13-
The executor receives as inputs a pipeline action (e.g. `terragrunt plan`) and a specific unit of infrastructure that has been changed (e.g. `/path/to/changed-unit/terragrunt.hcl`) and executes the specified action on the specified unit.
13+
The executor receives as inputs a pipeline action (e.g. `terragrunt plan`) and a specific unit of infrastructure that has been changed (e.g. `/path/to/changed-unit/terragrunt.hcl`) and executes the specified action on the specified unit.
1414

1515
For example, when responding to a `ModuleUpdated` event for `/some/unit/terragrunt.hcl`, the executor might execute a `terragrunt apply` on `/some/unit/terragrunt.hcl`. Or when responding to `AccountsAdded` events on merge, the executor may create a follow-up pull request in the `infrastructure-live-root` repository to include additional IaC code for baselining the newly added accounts.

docs/2.0/docs/pipelines/architecture/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Outside of the main binary, Pipelines has several other components that work tog
88

99
By design, customers run the binary as part of their CI/CD pipelines (e.g. GitHub Actions, GitLab CI, etc.). As such, Gruntwork provides out-of-the-box CI/CD configurations for supported platforms when customers sign up for Gruntwork Pipelines.
1010

11-
We likewise provide CI/CD configurations for [Gruntwork Account Factory](https://docs.gruntwork.io/account-factory/overview).
11+
We likewise provide CI/CD configurations for [Gruntwork Account Factory](https://docs.gruntwork.io/account-factory/overview).
1212

1313
When using Gruntwork Pipelines without Gruntwork Account Factory, customers are responsible for configuring their repositories to use the appropriate CI/CD configuration for that platform (see [Adding Pipelines to an Existing Repository](/2.0/docs/pipelines/installation/addingexistingrepo) for more information). This code is typically fairly minimal, and the majority of the work is done by reusable workflows made available by Gruntwork, and the binary itself.
1414

docs/2.0/docs/pipelines/architecture/security-controls.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Requires that the following tokens are created:
4747
- `INFRA_ROOT_WRITE_TOKEN`: Fine-grained PAT with read/write access to infrastructure repositories
4848
- `ORG_REPO_ADMIN_TOKEN`: Fine-grained PAT with admin access for repository management
4949

50-
See [Setup via Machine Users](/2.0/docs/pipelines/installation/viamachineusers.md) for more details.
50+
See [Setup via Machine Users](/2.0/docs/pipelines/installation/viamachineusers) for more details.
5151

5252
</TabItem>
5353
<TabItem value="gitlab" label="GitLab">

docs/2.0/docs/pipelines/concepts/cloud-auth/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ Cloud authentication in Pipelines is built on the principle of least privilege a
1717

1818
Currently, Pipelines supports authentication to the following cloud providers:
1919

20-
- [AWS](./aws.mdx) - AWS authentication using OIDC
21-
- [Azure](./azure.md) - Azure authentication using OIDC
22-
- [Custom](./custom.md) - Custom authentication you can implement yourself
20+
- [AWS](/2.0/docs/pipelines/concepts/cloud-auth/aws) - AWS authentication using OIDC
21+
- [Azure](/2.0/docs/pipelines/concepts/cloud-auth/azure) - Azure authentication using OIDC
22+
- [Custom](/2.0/docs/pipelines/concepts/cloud-auth/custom) - Custom authentication you can implement yourself
2323

2424
## Security Best Practices
2525

0 commit comments

Comments
 (0)