Skip to content

Commit 71ca806

Browse files
committed
chore: Merging in main
2 parents 57c0469 + 6531135 commit 71ca806

116 files changed

Lines changed: 2677 additions & 1171 deletions

File tree

Some content is hidden

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

config/custom-environment-variables.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,3 @@ algolia:
1919
apiKey: ALGOLIA_API_KEY
2020
indexName: ALGOLIA_INDEX_NAME
2121
libraryIndexName: ALGOLIA_LIBRARY_INDEX_NAME
22-
23-
# Posthog Analytics tracking config
24-
posthog:
25-
apiKey: CONFIG_POSTHOG_API_KEY
26-
appUrl: CONFIG_POSTHOG_APP_URL
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Prefer OpenTofu; Minimize Friction
2+
3+
Gruntwork is a co-founder and active maintainer of [OpenTofu](https://opentofu.org/), the open source successor to HashiCorp Terraform. We proudly support OpenTofu because we believe that core infrastructure should run on proven open source technology. In line with this philosophy, Gruntwork IaC Library aims to provide first-class OpenTofu support.
4+
5+
But we also know that platform teams may be on very early versions of Terraform (pre-1.0) or still on Terraform 1.5.7, and that upgrading to the latest OpenTofu is yet another item on their plate of competing priorities. This means we must balance the benefits of embracing the latest OpenTofu functionality with the real-world costs of migration.
6+
7+
## Core principle
8+
9+
We prefer OpenTofu over Terraform but design our modules to work seamlessly with both whenever possible, ensuring customers can adopt OpenTofu without syntax changes or configuration rewrites.
10+
11+
## Implementation
12+
13+
### Approach
14+
15+
1. We design our modules to work with both OpenTofu and Terraform, prioritizing features that work identically in both tools.
16+
2. When we do adopt OpenTofu-specific features, we use `.tofu` files and provide clear migration guidance.
17+
18+
### OpenTofu/Terraform version support
19+
20+
- **OpenTofu**: We support OpenTofu 1.9 for new features that provide significant customer value.
21+
- **Terraform**: We maintain compatibility with Terraform versions that support the same OpenTofu language features we use, but do not explicitly test or support Terraform versions beyond 1.5.7.
22+
23+
### OpenTofu feature adoption
24+
25+
When evaluating new OpenTofu language features for use in Gruntwork modules:
26+
27+
1. **Dual-compatible features (Preferred)**: Features that work identically in both OpenTofu and Terraform should be placed in `.tf` files. (e.g. see [cross-variable validation](#cross-variable-validation) below.)
28+
2. **OpenTofu-only Features (Discouraged)**: Features that only work in OpenTofu should be placed in `.tofu` files and used sparingly. Terraform ignores `.tofu` files, while OpenTofu reads both `.tf` and `.tofu`. Avoid duplicating the same blocks across both extensions; prefer additive enhancements in `.tofu`. This approach increases maintenance cost, so we will use it only when the user benefit is clear.
29+
3. **Terraform-only Features**: We do not support Terraform-specific features.
30+
31+
## Current feature adoption
32+
33+
### Cross-variable validation
34+
35+
We now support cross-variable validation (the ability to reference the values of other variables in `variable` validation blocks) because:
36+
- It significantly improves module usability by preventing invalid input combinations
37+
- It works identically in both OpenTofu 1.9+ and Terraform 1.9+
38+
- It addresses direct customer feedback about configuration errors
39+
40+
## Future evolution
41+
42+
This principle will evolve as the OpenTofu and Terraform ecosystems develop. We will:
43+
- Regularly review compatibility and our support policy based on customer needs
44+
- Update our supported feature list as new stable releases become available
45+
- Clearly communicate any changes to our compatibility strategy
46+
- Regularly review any customer request for adoption of new features

docs/2.0/reference/pipelines/configurations-as-code/api.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ The IAM role ARN that Pipelines will assume when running Terragrunt apply comman
386386
<HclListItem name="region" requirement="optional" type="string">
387387
<HclListItemDescription>
388388

389-
The AWS region that Pipelines will use when running Terragrunt commands.
389+
The AWS region that Pipelines will use when calling the AWS Security Token Service (STS) to generate authentication tokens.
390390

391391
</HclListItemDescription>
392392
<HclListItemDefaultValue defaultValue="us-east-1"/>

docs/guides/stay-up-to-date/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import CardGroup from "/src/components/CardGroup"
1717
<CardGroup cols={1} gap="1rem" stacked equalHeightRows={false} commonCardProps={{padding: "1.25rem"}}>
1818

1919
<!-- START_DOCS_SOURCER_DYNAMIC_CONTENT id=gruntwork-releases-cards -->
20+
<Card title="Update to 2025-09" href="/guides/stay-up-to-date/releases/2025-09" />
2021
<Card title="Update to 2025-08" href="/guides/stay-up-to-date/releases/2025-08" />
2122
<Card title="Update to 2025-07" href="/guides/stay-up-to-date/releases/2025-07" />
2223
<Card title="Update to 2025-06" href="/guides/stay-up-to-date/releases/2025-06" />
@@ -31,7 +32,6 @@ import CardGroup from "/src/components/CardGroup"
3132
<Card title="Update to 2024-09" href="/guides/stay-up-to-date/releases/2024-09" />
3233
<Card title="Update to 2024-08" href="/guides/stay-up-to-date/releases/2024-08" />
3334
<Card title="Update to 2024-07" href="/guides/stay-up-to-date/releases/2024-07" />
34-
<Card title="Update to 2024-06" href="/guides/stay-up-to-date/releases/2024-06" />
3535
<Card title="See older releases" href="/guides/stay-up-to-date/releases" />
3636
<!-- END_DOCS_SOURCER_DYNAMIC_CONTENT -->
3737

@@ -115,6 +115,6 @@ href="/guides/stay-up-to-date/cis/cis-1.5.0"
115115
<!-- ##DOCS-SOURCER-START
116116
{
117117
"sourcePlugin": "releases",
118-
"hash": "b3e226a13625325d46c1a0d8b8e0af54"
118+
"hash": "00e13525734b766356c89780045b818a"
119119
}
120120
##DOCS-SOURCER-END -->

0 commit comments

Comments
 (0)