You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Enforce that we don't use relative links
* we can actually enforce this across all of docs
* Look for `../` as well, limit to 2.0 as our automated guides do use relative links sometimes
* link fix
* 2 more links
* more link fixes
* more links
* mooore links
* final links
Copy file name to clipboardExpand all lines: docs/2.0/docs/accountfactory/architecture/logging.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Access to CloudTrail is controlled by AWS IAM policies that are assigned to indi
34
34
Gruntwork recommends that only those with administrative access to an AWS account have access to view CloudTrail logs, as they contain a record of every single API operation that was performed in the account, which may expose the name or configuration of resources an individual user may otherwise not have access to.
35
35
:::
36
36
37
-
Further, the configuration of CloudTrail trails should be defined as code, with all changes reviewed in a pull request before being applied automatically by [Gruntwork Pipelines](../../pipelines/overview.md).
37
+
Further, the configuration of CloudTrail trails should be defined as code, with all changes reviewed in a pull request before being applied automatically by [Gruntwork Pipelines](/2.0/docs/pipelines/concepts/overview).
38
38
39
39
See [Identity-based policy examples for AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_id-based-policy-examples.html) to learn more about granting access to CloudTrail.
Copy file name to clipboardExpand all lines: docs/2.0/docs/library/concepts/overview.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,4 +21,3 @@ To learn more, refer to [Modules](/2.0/docs/library/concepts/modules)
21
21
**Service modules** are opinionated combinations of "building block" modules described above. They are designed to be used "off the shelf" with no need to assemble a collection of “building block” modules on your own. They typically represent a full use case to solve a business problem on their own. For example, the `vpc` service module deploys a VPC, VPC Flow Logs, and Network ACLs. If you agree with the opinions embedded in a service module, they’re the fastest way to deploy production-grade infrastructure.
22
22
23
23
To learn more, refer to [Service Modules](/2.0/docs/library/concepts/service-modules)
Copy file name to clipboardExpand all lines: docs/2.0/docs/library/guides/integrate-tfc.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,7 +95,7 @@ data source](https://www.terraform.io/docs/providers/terraform/d/remote_state.ht
95
95
another workspace. In this manner, you can link multiple workspaces together to
96
96
build an end-to-end infrastructure.
97
97
98
-
In our guide on [using Gruntwork modules](../tutorials/customizing-modules.md), we discuss the wrapper module
98
+
In our guide on [using Gruntwork modules](/2.0/docs/library/tutorials/customizing-modules), we discuss the wrapper module
99
99
pattern in which multiple Terraform modules are contained in a hierarchy of directories located under
100
100
`infrastructure-modules/modules`. Using such a hierarchy, each workspace will use the same `infrastructure-modules` repository, but pointed at different subdirectories within the repository.
Next, define the module blocks for the AWS Lambda function and HTTP API Gateway. For the Lambda, we will use the [Lambda function module](../../../../reference/modules/terraform-aws-lambda/lambda/), for the HTTP API Gateway we will use the [HTTP API Gateway module](../../../../reference/modules/terraform-aws-lambda/lambda-http-api-gateway/).
31
+
Next, define the module blocks for the AWS Lambda function and HTTP API Gateway. For the Lambda, we will use the [Lambda function module](/reference/modules/terraform-aws-lambda/lambda/), for the HTTP API Gateway we will use the [HTTP API Gateway module](/reference/modules/terraform-aws-lambda/lambda-http-api-gateway/).
32
32
33
33
To keep the configuration simple for this guide, we define a single route — `ANY /{proxy+}`. This tells the API Gateway to send any requests matching the path `/*` to the Lambda. This is an effective approach if you are using an API framework in the Lambda function code that can handle request routing. We will also set some defaults for the Lambda to not run in a VPC, have a maximum run time of 30 seconds, and 128MB of memory.
Copy file name to clipboardExpand all lines: docs/2.0/docs/library/tutorials/module-defaults.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Defining module defaults
4
4
5
-
Now that you have an understanding of [what module defaults are](../concepts/module-defaults.md), you can develop your own defaults module.
5
+
Now that you have an understanding of [what module defaults are](/2.0/docs/library/concepts/module-defaults), you can develop your own defaults module.
6
6
7
7
All of your defaults modules should be placed in a directory named `_module_defaults`. Beyond that, it is up to you as a developer to determine how to structure the code. Gruntwork recommends structuring your module defaults directory by creating directories for each resource category (e.g., storage, networking) then using a name for the Terragrunt file that represents the resource(s) it will create.
8
8
@@ -37,7 +37,7 @@ locals {
37
37
38
38
Finally, you can define inputs. This is where the module defaults pattern really starts to demonstrate value by keeping your code DRY.
39
39
40
-
In the example block below, we’ve set default values for the `vpc_name` and `num_nat_gateways` variables. A quick inspection of the [`vpc-app`](../../../../../reference/modules/terraform-aws-vpc/vpc-app/) module shows us that we’re only missing one additional required variable — `cidr_block`. This means that consumers of our defaults module only need to specify a value for one input variable, a 66% reduction! You could even expand this example to always use the same CIDR block, allowing consumers to override it should they require a different block.
40
+
In the example block below, we’ve set default values for the `vpc_name` and `num_nat_gateways` variables. A quick inspection of the [`vpc-app`](/reference/modules/terraform-aws-vpc/vpc-app/) module shows us that we’re only missing one additional required variable — `cidr_block`. This means that consumers of our defaults module only need to specify a value for one input variable, a 66% reduction! You could even expand this example to always use the same CIDR block, allowing consumers to override it should they require a different block.
@@ -58,7 +58,7 @@ Now that you know how to develop an defaults module, let’s dive in to how you
58
58
59
59
### Infrastructure units
60
60
61
-
An infrastructure unit is the Gruntwork term for the deployment of an infrastructure as code module in a single environment. For example, deploying the [`vpc-app`](../../../../reference/modules/terraform-aws-vpc/vpc-app/) module in your development AWS account is a single infrastructure unit.
61
+
An infrastructure unit is the Gruntwork term for the deployment of an infrastructure as code module in a single environment. For example, deploying the [`vpc-app`](/reference/modules/terraform-aws-vpc/vpc-app/) module in your development AWS account is a single infrastructure unit.
62
62
63
63
In this section, we’ll walk through the approach we employ at Gruntwork for leveraging defaults modules as infrastructure units. When you purchase a DevOps Foundation, the generated repository containing your infrastructure as code is automatically laid out to use this approach.
Copy file name to clipboardExpand all lines: docs/2.0/docs/overview/concepts/infrastructure-live.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,4 +77,4 @@ For more details and the other options, see [Keep your Terragrunt Architecture D
77
77
### Module defaults
78
78
79
79
80
-
Now that you have your accounts, environments, categories, resources, and state figured out, you may be wondering how you can increase code re-use across your `live` repository. Gruntwork recommends using the ["module defaults"](../../library/concepts/module-defaults.md) pattern to keep your Terragrunt architecture DRY.
80
+
Now that you have your accounts, environments, categories, resources, and state figured out, you may be wondering how you can increase code re-use across your `live` repository. Gruntwork recommends using the ["module defaults"](/2.0/docs/library/concepts/module-defaults) pattern to keep your Terragrunt architecture DRY.
Copy file name to clipboardExpand all lines: docs/2.0/docs/overview/concepts/labels-tags.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ As an example, if Acme Co was running an application named `coolapp` on AWS EC2
31
31
32
32
### Adding labels
33
33
34
-
The simplest way to create a label is using a `locals` block and combining the recommended attributes into a single attribute. For example, if you were creating an AWS S3 bucket using a Gruntwork module you could set up the following locals block. If you are using the [module defaults pattern](../../library/concepts/module-defaults.md), placing the name logic in the default module will ensure that all consumers of the module will use the same naming scheme automatically by default.
34
+
The simplest way to create a label is using a `locals` block and combining the recommended attributes into a single attribute. For example, if you were creating an AWS S3 bucket using a Gruntwork module you could set up the following locals block. If you are using the [module defaults pattern](/2.0/docs/library/concepts/module-defaults), placing the name logic in the default module will ensure that all consumers of the module will use the same naming scheme automatically by default.
Copy file name to clipboardExpand all lines: docs/2.0/docs/overview/iac-foundations/overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ The IaC Foundations component is focused on:
11
11
-**IaC Modules.** No IaC modules are needed for this component.
12
12
-**Tooling.** We recommend Terragrunt to effectively use Terraform/OpenTofu at scale.
13
13
-**Setup.** We grant you access to a sophisticated git repo template that includes customization options and generates your repo code.
14
-
-**Updates.** We publish ongoing updates to IaC foundational patterns and will write [patches](../../patcher/patcher.md) if applicable to adopt those changes.
14
+
-**Updates.** We publish ongoing updates to IaC foundational patterns and will write [patches](/2.0/docs/patcher/concepts/patches) if applicable to adopt those changes.
@@ -27,7 +27,7 @@ Then you would define your environments as `dev-*`, stage as `stage-*` and prod
27
27
28
28
## Implementation & Setup Example
29
29
30
-
The Patcher Promotion Workflow process consists of a series of GitHub Actions workflow files. Each environment is modeled as an individual workflow. The process begins with the lowest environment (usually something like `dev`). It scans the entire `dev` environment for all dependencies which may require updates. It then generates one pull request per dependency. That PR updates that dependency in just the `dev` environment.
30
+
The Patcher Promotion Workflow process consists of a series of GitHub Actions workflow files. Each environment is modeled as an individual workflow. The process begins with the lowest environment (usually something like `dev`). It scans the entire `dev` environment for all dependencies which may require updates. It then generates one pull request per dependency. That PR updates that dependency in just the `dev` environment.
31
31
32
32
As each of those pull requests is approved and merged, that approval triggers new pull requests for the subsequent environment (triggered via `repository dispatch` events). This process continues until the last environment at which point no further PRs are opened and all environments have been updated.
33
33
@@ -49,7 +49,7 @@ The initial GitHub Actions Workflow file, in this example `update-dev.yml`, cont
49
49
* Note this job uses a secret, `PIPELINES_READ_TOKEN`, which needs access to your Gruntwork account to access the Patcher binary. See more on machine user tokens [here](/2.0/docs/pipelines/installation/viamachineusers).
50
50
* The `update-env` Job
51
51
* This job takes the spec output from the report, puts it into a file, then calls patcher update.
52
-
* Patcher update reads the spec file, checks out the code, makes a commit and then pushes a pull request
52
+
* Patcher update reads the spec file, checks out the code, makes a commit and then pushes a pull request
53
53
* It is critically important for the pull request workflow that the `pull_request_branch` be defined as `$PREFIX$DEPENDENCYID`. We strip out the prefix to identify the dependency ID in the `trigger-next-env` Job.
0 commit comments