-
Notifications
You must be signed in to change notification settings - Fork 43
GitLab Account factory docs #2677
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: pipelines-v4
Are you sure you want to change the base?
Changes from 7 commits
bae8535
67545c5
f9ff008
bec91c9
95816ec
e46c856
c90ad13
2047192
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,37 +1,66 @@ | ||||||||||||||||||
import Tabs from '@theme/Tabs'; | ||||||||||||||||||
import TabItem from '@theme/TabItem'; | ||||||||||||||||||
|
||||||||||||||||||
# Using the Account Factory Workflow | ||||||||||||||||||
|
||||||||||||||||||
## Introduction | ||||||||||||||||||
## Generate the account-request file | ||||||||||||||||||
|
||||||||||||||||||
The Account Factory Workflow in your `infrastructure-live-root` repository can be used to create new AWS accounts. It requires a single input—a JSON payload—generated from the `account-factory-inputs.html` web page. | ||||||||||||||||||
There are currently two ways to generate the account-request file: | ||||||||||||||||||
|
||||||||||||||||||
The JSON payload approach provides greater flexibility for account vending, overcoming the GitHub workflow restriction of a 10-input maximum. | ||||||||||||||||||
1. Using the [Gruntwork Developer Portal](/2.0/docs/accountfactory/guides/vend-aws-account?account-creation-method=ui#using-the-gruntwork-developer-portal) (**GitLab and GitHub non-enterprise customers**) | ||||||||||||||||||
2. Using the [Account Factory workflow in your repository](/2.0/docs/accountfactory/guides/vend-aws-account?account-creation-method=workflow#using-the-account-factory-workflow-in-your-repository) (**GitHub only**) | ||||||||||||||||||
|
||||||||||||||||||
|
||||||||||||||||||
<Tabs groupId="account-creation-method" queryString="account-creation-method"> | ||||||||||||||||||
<TabItem value="ui" label="Using Portal UI"> | ||||||||||||||||||
|
||||||||||||||||||
### Using the Gruntwork Developer Portal | ||||||||||||||||||
|
||||||||||||||||||
1. Navigate to the [Account Request](https://app.gruntwork.io/account-factory/request-generator) page in the Gruntwork Developer Portal, as an authenticated user, to access the request generator UI. | ||||||||||||||||||
|
||||||||||||||||||
:::note | ||||||||||||||||||
 | ||||||||||||||||||
|
||||||||||||||||||
This guide focuses on non-delegated repositories. Enterprise customers can also [use Account Factory to create new Delegated Repositories](/2.0/docs/accountfactory/guides/delegated-repositories). | ||||||||||||||||||
1. If the form is disabled for filling out, request that an Admin in your Gruntwork Developer Account configures the Account factory settings. | ||||||||||||||||||
1. Fill out the form with the required information and click on the "Generate Account Request" button. | ||||||||||||||||||
1. Use the "Download" button to download the account-request file or the "Copy" button to copy the account-request file to your clipboard. | ||||||||||||||||||
1. Navigate to your repository and create a new branch. | ||||||||||||||||||
1. Create a new file in the `_new-account-requests` directory by moving the downloaded file to the directory or by creating a new file with the content of your clipboard. If copying content, ensure that the file is created with the correct name displayed in the generator output. | ||||||||||||||||||
1. Commit your changes and open a Pull Request to the main branch. | ||||||||||||||||||
|
||||||||||||||||||
</TabItem> | ||||||||||||||||||
<TabItem value="workflow" label="Using Workflow in Repo"> | ||||||||||||||||||
|
||||||||||||||||||
### Using the Account Factory workflow in your repository | ||||||||||||||||||
|
||||||||||||||||||
:::info | ||||||||||||||||||
Only available for GitHub customers. This guide focuses on non-delegated repositories. Enterprise GitHub customers can also [use Account Factory to create new Delegated Repositories](/2.0/docs/accountfactory/guides/delegated-repositories). | ||||||||||||||||||
::: | ||||||||||||||||||
|
||||||||||||||||||
The Account Factory Workflow in your `infrastructure-live-root` repository can be used to create new AWS accounts. It requires a single input—a JSON payload—generated from the `account-factory-inputs.html` web page. | ||||||||||||||||||
|
||||||||||||||||||
### Step 1 - Download the file | ||||||||||||||||||
The JSON payload approach provides greater flexibility for account vending, overcoming the GitHub workflow restriction of a 10-input maximum. | ||||||||||||||||||
|
||||||||||||||||||
#### Step 1 - Download the file | ||||||||||||||||||
|
||||||||||||||||||
Locate the inputs web page in your `infrastructure-live-root` repository at `.github/workflows/account-factory-inputs.html` and download it to your local machine. | ||||||||||||||||||
|
||||||||||||||||||
### Step 2 - Populate the values | ||||||||||||||||||
#### Step 2 - Populate the values | ||||||||||||||||||
|
||||||||||||||||||
Open the downloaded `account-factory-inputs.html` file in a web browser and populate the input fields as required. | ||||||||||||||||||
|
||||||||||||||||||
Once all values are filled, click "Generate" and copy the resulting JSON output to your clipboard. | ||||||||||||||||||
|
||||||||||||||||||
### Step 3 - Run the Account Factory workflow | ||||||||||||||||||
#### Step 3 - Run the Account Factory workflow | ||||||||||||||||||
|
||||||||||||||||||
Access the Actions tab in your `infrastructure-live-root` repository on GitHub and select `Account factory` from the left-hand pane. | ||||||||||||||||||
|
||||||||||||||||||
Click "Run workflow" on the right, paste the generated JSON payload into the dropdown, and click the green "Run workflow" button to initiate the workflow. | ||||||||||||||||||
After the workflow is complete, a new Pull Request will be created in the `infrastructure-live-root` repository. This PR will add an account request to the `_new-account-requests` directory. | ||||||||||||||||||
|
||||||||||||||||||
Comment on lines
55
to
59
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. “Dropdown” is inaccurate for workflow_dispatch input; fix wording and verify workflow name casing. Also, specify the repo where the PR appears.
Apply this diff: -Access the Actions tab in your `infrastructure-live-root` repository on GitHub and select `Account factory` from the left-hand pane.
+Access the Actions tab in your `infrastructure-live-root` repository on GitHub and select `Account Factory` from the left-hand pane. <!-- Adjust casing to match the actual workflow name -->
@@
-Click "Run workflow" on the right, paste the generated JSON payload into the dropdown, and click the green "Run workflow" button to initiate the workflow.
+Click "Run workflow" on the right, paste the generated JSON payload into the input field, and click the green "Run workflow" button to initiate the workflow.
-After the workflow is complete, a new Pull Request will be created in the `infrastructure-live-root` repository. This PR will add an account request to the `_new-account-requests` directory.
+After the workflow completes, a new Pull Request will be created in the `infrastructure-live-root` repository. This PR adds the account request under `_new-account-requests`. Follow-up: Please confirm the exact workflow display name so we can match the casing precisely in the doc. 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
|
||||||||||||||||||
### Step 4 - Merge the account request PR | ||||||||||||||||||
</TabItem> | ||||||||||||||||||
</Tabs> | ||||||||||||||||||
|
||||||||||||||||||
After the workflow is complete, a new Pull Request will be created in the `infrastructure-live-root` repository. This PR will add an account request to the `_new-account-requests` directory. | ||||||||||||||||||
## Review and merge the account request PR | ||||||||||||||||||
|
||||||||||||||||||
Review and merge the Pull Request to begin the account creation process. | ||||||||||||||||||
|
||||||||||||||||||
|
@@ -43,7 +72,7 @@ Once the account request PR merges into the main branch, Pipelines will initiate | |||||||||||||||||
|
||||||||||||||||||
When the account is successfully created, Pipelines will open another Pull Request to baseline the account. | ||||||||||||||||||
|
||||||||||||||||||
### Step 5 - Merge the Account Baseline PR | ||||||||||||||||||
## Review and merge the Account Baseline PR | ||||||||||||||||||
|
||||||||||||||||||
Review and merge the Account Baseline Pull Request. This PR contains essential infrastructure for enabling your delegated repository to plan and apply infrastructure changes in AWS. It also includes account baselines and configured account-specific infrastructure, such as a VPC. | ||||||||||||||||||
|
||||||||||||||||||
|
Uh oh!
There was an error while loading. Please reload this page.