Skip to content

Commit 499eeff

Browse files
committed
docs: Adjusting redirects for moving AWS Landing Zone to Account Factory
1 parent 7f937cc commit 499eeff

File tree

5 files changed

+78
-47
lines changed

5 files changed

+78
-47
lines changed

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,15 @@ Account Factory is automatically integrated into [new Pipelines root repositorie
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-
Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Authenticating Gruntwork Pipelines
22

33
Gruntwork Pipelines requires authentication with GitHub/GitLab to perform various functions, including:
4-
* Downloading Gruntwork code, such as the Pipelines binary and Terraform modules, from the `gruntwork-io` GitHub organization.
5-
* Interacting with your repositories, such as:
6-
* Creating pull requests.
7-
* Commenting on pull requests.
8-
* Creating new repositories via Account Factory.
9-
* Updating repository settings, such as enforcing branch protection, via Account Factory.
4+
5+
- Downloading Gruntwork code, such as the Pipelines binary and Terraform modules, from the `gruntwork-io` GitHub organization.
6+
- Interacting with your repositories, such as:
7+
- Creating pull requests.
8+
- Commenting on pull requests.
9+
- Creating new repositories via Account Factory.
10+
- Updating repository settings, such as enforcing branch protection, via Account Factory.
1011

1112
Gruntwork provides two authentication methods: a [GitHub App](/2.0/docs/pipelines/installation/viagithubapp.md) and CI Users ([Machine Users](/2.0/docs/pipelines/installation/viamachineusers.md)) with personal access tokens for Pipelines.
1213

@@ -15,11 +16,14 @@ Both approaches support the core functionality of Pipelines. However, the GitHub
1516
## Summary of authentication mechanisms for GitHub
1617

1718
**Advantages of the GitHub App**:
19+
1820
- Simplified setup process.
1921
- Access to enhanced features and functionality.
2022
- Improved user experience during regular operations.
2123
- Reduced maintenance, as there is no need to install, maintain, or rotate powerful tokens.
2224

2325
**Advantages of Machine Users**:
26+
2427
- Compatibility with on-premises GitHub Enterprise installations that cannot interact with third-party servers (e.g., Gruntwork's backend).
2528
- Provides a fallback solution to ensure Pipelines continue functioning in the unlikely event of an outage affecting the Gruntwork-hosted backend that powers the GitHub App.
29+
- Allows GitLab customers to download the Pipelines binary from GitLab CI Pipelines.

docs/2.0/docs/pipelines/installation/viagithubapp.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ The [Gruntwork.io GitHub App](https://github.com/apps/gruntwork-io) is a [GitHub
1313
At this time Gruntwork does not provide an app for GitLab, this page is only relevant for Gruntwork Pipelines users installing in GitHub.
1414

1515
:::
16+
1617
## Overview
1718

1819
There are three major components to keep in mind when working with the Gruntwork.io GitHub App:
@@ -28,6 +29,7 @@ The Gruntwork.io GitHub App is the principal that Gruntwork products will utiliz
2829
#### Required Permissions
2930

3031
As of 2024/09/10, the Gruntwork.io GitHub App requests the following permissions:
32+
3133
- **Read access to Actions**: Allows the app to read GitHub Actions artifacts.
3234
- **Write access to Administration**: Allows the app to create new repositories, and add teams as collaborators to repositories.
3335
- **Write access to Contents**: Allows the app to read and write repository contents.
@@ -40,13 +42,15 @@ As of 2024/09/10, the Gruntwork.io GitHub App requests the following permissions
4042

4143
Gruntwork.io requests all of these permissions because it requires them for different operations. Unfortunately, the way GitHub apps work prevents us from requesting permissions on a more granular basis. Know that the GitHub App Service will scope down its permissions whenever possible to the minimum required for the operation at hand.
4244

43-
The level of granularity available to customers when configuring the GitHub App installation is to either install the app on a per-repository basis or on an entire organization. Our recommendation is as follows:
45+
The level of granularity available to customers when configuring the GitHub App installation is to either install the app on a per-repository basis or on an entire organization. Our recommendation is as follows for Account Factory customers:
46+
47+
- For non-enterprise customers, allow the app for `infrastructure-live-root` repository and (if in-use) `infrastructure-live-access-control` and `infrastructure-catalog`.
4448

45-
* For non-enterprise customers, allow the app for `infrastructure-live-root` repository and (if in-use) `infrastructure-live-access-control` and `infrastructure-catalog`.
46-
* For enterprise customers, allow the app to have access to the entire organization.
49+
- For enterprise customers, allow the app to have access to the entire organization.
4750

48-
The reasoning for requiring entire-organization access for enterprise customers is that if you are using Account Factory to create delegated repositories then Account Factory will be creating, and then immediately modifying, new repositories in automated flows, which means it needs access to new repos as soon as they are created which is only possible with entire organization permission.
51+
For non-Account Factory customers, we recommend installing the app on a per-repository basis.
4952

53+
The reasoning for requiring entire-organization access for enterprise customers is that if you are using Account Factory to create delegated repositories then Account Factory will be creating, and then immediately modifying, new repositories in automated flows, which means it needs access to new repos as soon as they are created which is only possible with entire organization permission.
5054

5155
If you are unsure how to proceed here, reach out to Gruntwork Support for guidance.
5256

@@ -108,7 +112,7 @@ The GitHub App Service is used by two major clients:
108112

109113
2. **Gruntwork Pipelines**
110114

111-
The main client for the Gruntwork.io App, and where most of the value is derived. Pipelines uses the GitHub App Service to acquire the relevant access for interacting with GitHub resources on behalf of the user. Access control rules are enforced here to ensure that only the level of access required, and explicitly specified in the Gruntwork Developer Portal can be used by Pipelines to interact with GitHub resources on behalf of the user.
115+
The main client for the Gruntwork.io App, and where most of the value is derived. Pipelines uses the GitHub App Service to acquire the relevant access for interacting with GitHub resources on behalf of the user. Access control rules are enforced here to ensure that only the level of access required (and explicitly specified in the Gruntwork Developer Portal) can be used by Pipelines to interact with GitHub resources on behalf of the user.
112116

113117
For example, while the Gruntwork.io GitHub App does have permissions to create new repositories, Pipelines will only do so if a workflow originating from a configured `infrastructure-live-root` repository requests it.
114118

@@ -118,19 +122,19 @@ The availability of the Gruntwork.io GitHub App is something Gruntwork will ende
118122

119123
Any downtime of Gruntwork services will not impact the ability of your team to manage infrastructure using Gruntwork products.
120124

121-
#### App Only Features
125+
### App Only Features
122126

123127
The following features of the Gruntwork.io GitHub App will be unavailable during downtime:
124128

125129
- **GitHub App Linking**: In order to link a Gruntwork.io GitHub App installation to the [Gruntwork Developer Portal](https://app.gruntwork.io), the service backing the GitHub app must be available and operating correctly.
126130
- **Gruntwork Pipelines Comments**: While Pipelines will allow for IaC updates in a degraded state without the availability of the GitHub App, comments are a feature that rely on the availability of the app for the best experience.
127131
- **Gruntwork Pipelines Drift Detection**: Drift detection requires the availability of the GitHub App to function correctly.
128132

129-
#### Fallback
133+
### Fallback
130134

131-
In order to ensure that the availability of the Gruntwork.io GitHub App is not something that can impair the ability of users to drive infrastructure updates, the legacy mechanism of authenticating with GitHub using [Machine users](/2.0/docs/pipelines/installation/viamachineusers.md) is still supported.
135+
In order to ensure that the availability of the Gruntwork.io GitHub App is not something that can impair the ability of users to drive infrastructure updates, users can also authenticate with GitHub using [Machine users](/2.0/docs/pipelines/installation/viamachineusers.md).
132136

133-
Configuring the `PIPELINES_READ_TOKEN`, `INFRA_ROOT_WRITE_TOKEN` and `ORG_REPO_ADMIN_TOKEN` where necessary (following the documentation linked above) will result in Pipelines using the legacy mechanism to authenticate with GitHub, rather than the Gruntwork.io GitHub App.
137+
Configuring the `PIPELINES_READ_TOKEN`, `INFRA_ROOT_WRITE_TOKEN` and `ORG_REPO_ADMIN_TOKEN` where necessary (following the documentation linked above) will result in Pipelines using the machine users mechanism to authenticate with GitHub, rather than the Gruntwork.io GitHub App.
134138

135139
Using these fallback tokens will ensure that Pipelines can continue to perform operations like:
136140

@@ -160,7 +164,7 @@ To install the Gruntwork.io GitHub App in your organization follow these steps.
160164

161165
## Configuration
162166

163-
<h3>Infrastructure Live Root Repositories</h3>
167+
### Infrastructure Live Root Repositories
164168

165169
DevOps Foundations treats certain repositories as especially privileged in order to perform critical operations like vending new AWS accounts and creating new repositories. These repositories are called "infrastructure live root repositories" and you can configure them in the [GitHub Account section](https://app.gruntwork.io/account?scroll_to=github-app) for your organization in the Gruntwork developer portal **if you are a designated administrator**.
166170

@@ -174,7 +178,7 @@ For more information, see the [relevant architecture documentation](/2.0/docs/pi
174178

175179
## Frequently Asked Questions
176180

177-
#### How do I find my Gruntwork.io GitHub App installation ID?
181+
### How do I find my Gruntwork.io GitHub App installation ID?
178182

179183
You can find the installation ID of the Gruntwork.io GitHub App in the URL of the installation page.
180184

0 commit comments

Comments
 (0)