Skip to content

Commit 967e5ff

Browse files
authored
Merge branch 'main' into opentofu-migration
2 parents aa47a3b + 99cad2d commit 967e5ff

File tree

140 files changed

+2826
-1543
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+2826
-1543
lines changed

custom-dictionary.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,9 @@ projectprefix
5454
GOVCLOUD
5555
rollouts
5656
myvars
57-
myfile
57+
myfile
58+
gruntwork-io
59+
minamijoyo
60+
tfupdate
61+
hcledit
62+
self-hosting

docs/2.0/docs/accountfactory/guides/drift-remediation-with-async-module.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ For `_envcommon/landingzone/root-pipelines-apply-role.hcl`, ensure that you have
134134
}
135135
```
136136

137-
For `_envcommon/landingzone/root-pipelines-plan-role.hcl`, ensure that you have at leasat the following permissions:
137+
For `_envcommon/landingzone/root-pipelines-plan-role.hcl`, ensure that you have at least the following permissions:
138138

139139
```hcl
140140
"CloudWatchEventsReadOnlyAccess" = {
@@ -175,7 +175,8 @@ For `_envcommon/landingzone/root-pipelines-plan-role.hcl`, ensure that you have
175175
actions = [
176176
"states:List*",
177177
"states:Describe*",
178-
"states:GetExecutionHistory"
178+
"states:GetExecutionHistory",
179+
"states:ValidateStateMachineDefinition"
179180
]
180181
effect = "Allow"
181182
}

docs/2.0/docs/accountfactory/tutorials/modify-account.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ The table below lists common AWS account operations and provides guidance on whe
2929
| Update account admin user in Account Access IAM Identity Center | ✅ (recommended) | ✅ (discouraged) |
3030
| Granting additional users access to accounts in AWS IAM Identity Center | ✅ (recommended) | ✅ (discouraged) |
3131

32-
| Granting additional users access to accounts in AWS IAM Identity Center | ✅ (recommended) | ✅ (discouraged) |
33-
34-
3532
### Updating the account through the new AWS account request file
3633

3734
You can update specific attributes of an AWS account by modifying the corresponding account request file in the `_new_account_requests` directory. Follow the steps below to update specific attributes:
Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,41 @@
11
# What is Gruntwork Patcher?
22

3-
Gruntwork Patcher automates the process of keeping your infrastructure code ([Terragrunt](https://terragrunt.gruntwork.io/) and [OpenTofu](https://opentofu.org/)) up to date, including applying patches to ensure compatibility with backward-incompatible module releases.
3+
Gruntwork Patcher automates the process of keeping your infrastructure code ([Terragrunt](https://terragrunt.gruntwork.io/), [OpenTofu](https://opentofu.org/), and [Terraform](https://terraform.io)) up to date, including applying patches to ensure compatibility with backward-incompatible module releases.
4+
5+
We use the term "Patcher" to refer to the [Patcher CLI](https://github.com/gruntwork-io/patcher-cli), the public [Patcher GitHub Action](https://github.com/gruntwork-io/patcher-action), and the collection of tools (like [Terrapatch](https://github.com/gruntwork-io/terrapatch-cli)) that enable Patcher to be useful.
6+
7+
## Why use Patcher?
48

59
Manually identifying updates and assessing whether they can be safely applied can consume significant engineering time for each module dependency. Patcher eliminates this inefficiency by streamlining the update process.
610

7-
You can use Gruntwork Patcher to manage dependencies on the Gruntwork IaC Library, which includes patches for recent breaking changes to Gruntwork modules. Patcher also supports updating dependencies for your own modules or open-source projects, using semantic versioning to identify safe updates and highlight those that need manual review.
11+
Patcher supports keeping any set of OpenTofu/Terraform modules up to date, whether they be your in-house modules, third-party open source modules, or modules from the [Gruntwork IaC Library](/2.0/docs/library/concepts/overview).
12+
13+
Patcher specializes in keeping infrastructure code up to date and currently supports automatic updates for:
14+
15+
- OpenTofu modules
16+
- Terraform modules
17+
- Terragrunt units
18+
- Terragrunt stacks
19+
20+
## Two update modes
21+
22+
When most teams think about updating their infrastructure code, there are two core use cases they look to solve:
23+
24+
1. **Legacy upgrade.** You wish to take a repo or set of files that are significantly out of date and bring them up to date with the latest OpenTofu/Terraform module versions.
25+
2. **Ongoing updates.** You wish to streamline the process of keeping a repo or set of files up to date over time.
26+
27+
Patcher can help with both of these use cases.
28+
29+
For legacy upgrades, the Patcher CLI offers an [interactive mode](/2.0/docs/patcher/guides/update) where you can browse all modules in the current working directory and below, browse available updates, and upgrade modules one at a time. We've found this approach works well with a modest set of updates, however for significantly out of date repos or files or a large number of files, you may wish to consider alternative approaches.
30+
31+
For ongoing updates, you can use Patcher in conjunction with our [published GitHub Action](https://github.com/gruntwork-io/patcher-action) to automatically scan your repo's modules and [open pull requests](/2.0/docs/patcher/guides/ongoing-updates) with updated module versions. Opening one pull request for every update can get cumbersome, so Patcher also supports a variety of [grouping modes](/2.0/docs/patcher/concepts/grouping) that allow you to streamline your workflow.
32+
33+
## How does Patcher work?
34+
35+
Patcher handles both non-breaking and breaking changes. For non-breaking changes, for the [Gruntwork IaC Library](/docs/2.0/docs/library/concepts/overview.md), Patcher uses a set of pre-generated changelog files to identify the "next safe change," enabling upgrades to automatically bypass "empty" version upgrades where a module is available at a newer version but in fact has had no actual file changes. Upon request, we can work with you to implement these pre-generated changelogs in your own organization.
36+
37+
For breaking changes, Patcher offers a systematic approach to doing code transformations -- we call these "patches" -- so that module consumers can automatically apply breaking changes to their modules. Or if Patcher detects a breaking change but a patch does not exist, Patcher updates the relevant module to the next breaking change and generates a `README` file in the folder with the updated file that outlines the release notes and details the breaking changes. Users review the `README`, address any necessary actions, and remove the file before re-running Patcher.
38+
39+
## Supported integrations
840

9-
Gruntwork Patcher provides a clear, README-driven workflow for breaking changes without available patches. When Patcher detects breaking changes, it updates the relevant dependency to the version containing those changes and generates a README file in the folder with the updated file. This README outlines the release notes and details the breaking changes. Users must review the README, address any necessary actions, and remove the file before rerunning Patcher.
41+
Patcher currently works for GitHub, GitHub Enterprise, and GitHub Enterprise self-hosted.

0 commit comments

Comments
 (0)