Releases: cloudposse/terraform-yaml-stack-config
v2.0.0
Update cloudposse/utils provider to v2.0.0 @aknysh (#110)
## what- Update
cloudposse/utilsprovider version constraint to>= 2.0.0, < 3.0.0across all 13versions.tffiles (root module, 6 child modules, 6 examples) - Remove the old
< 2.0.0upper bound frommodules/remote-statethat was blocking the v2 upgrade - Apply the
< 3.0.0upper bound consistently across all modules (previously onlymodules/remote-statehad an upper bound)
why
- The
cloudposse/utilsprovider v1.x embeds Atmos v1.189.0, which panics when it encounters neweratmos.yamlfeatures (stores,hooks,templates.settings.gomplate,!terraform.stateYAML tags). This causes a critical "Plugin did not respond" crash indata "utils_component_config", blocking all components that use theremote-statemodule (56+ components in a typical infrastructure repo) - Provider v2.0.0 upgrades the embedded Atmos from v1.189.0 to v1.207.0, which can parse all current
atmos.yamlfeatures without crashing - The
< 3.0.0upper bound is applied consistently to all modules and examples to guard against future breaking changes in the provider, following the same pattern previously used only inmodules/remote-state - This is a major version bump because users on older Atmos CLI versions (< 1.200) were unaffected by the crash and may need to verify compatibility after upgrading
references
cloudposse/utilsprovider v2.0.0 release- Provider PR #522 — full root cause analysis, API migration details, and 19 new tests
- Root cause analysis doc — call chain, scope of impact, and fix details
Generate readme for submodules @goruha (#109)
## what * Generate readme for submoduleswhy
- Allow all to keep the README updated
references
🤖 Automatic Updates
v1.8.0 [remote-state] Improve backend compatibility
Among other things detailed below, this release enables users to fix deprecation warnings like:
│ Warning: Deprecated Parameters
│
│ with module.account_map.data.terraform_remote_state.data_source[0],
│ on .terraform/modules/account_map/modules/remote-state/data-source.tf line 88, in data "terraform_remote_state" "data_source":
│ 88: data "terraform_remote_state" "data_source" {
│
│ The following parameters have been deprecated. Replace them as follows:
│ * role_arn -> assume_role.role_arn
If you are receiving deprecation warnings from remote-state, they can now be resolved by updating your backend/remote_state_backend configuration to match the version of Terraform or Tofu you are using. For example, change
terraform:
backend:
s3:
bucket: my-tfstate-bucket
dynamodb_table: my-tfstate-lock-table
role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-role
remote_state_backend:
s3:
role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-read-only-roleto
terraform:
backend:
s3:
bucket: my-tfstate-bucket
dynamodb_table: my-tfstate-lock-table
assume_role:
role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-role
remote_state_backend:
s3:
assume_role:
role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-read-only-role🚀 Enhancements
[remote-state] Improve backend compatibility @Nuru (#105)
## what- Improve remote-state backend compatibility
Rather than trying to parse the backend configuration, as a general rule we now just pass it through to the data source. This provides future-proof compatibility with all backends supported by Terraform and OpenTofu.
why
- This prevents the need for updates like #99 to provide configuration for future S3 backends, while eliminating compatibility issues like #102.
- This also eliminates deprecation warnings caused by forcing configuration to look a certain way.
- Now, users can manage their own remote state configuration to match their toolset.
references
- Closes #102
v1.7.0 (not recommended)
feat: support for gcs backends @burnzy (#95)
## whatSimple change to add support for GCS backends
why
Allows GCP users (users with gcs backends) to make use of this remote-state module for sharing data between components.
references
🚀 Enhancements
Support local backend @Nuru (#104)
## what- Support retrieving remote state from local backends
- NOTE: Using relative paths in local backends is tricky, because the path needs to resolve to the same directory from the source root module directory as from the client root module directory.
- Fix Terratests
- The
spacelifttest suite is broken, and we never previously required it to work, so it is now skipped
- The
- Update test suite to use
gov1.21 and update dependencies
why
🤖 Automatic Updates
Bump the go_modules group in /test/src with 5 updates @dependabot (#94)
Bumps the go_modules group in /test/src with 5 updates:| Package | From | To |
|---|---|---|
| github.com/hashicorp/go-getter | 1.7.1 |
1.7.5 |
| golang.org/x/crypto | 0.1.0 |
0.17.0 |
| golang.org/x/net | 0.8.0 |
0.10.0 |
| google.golang.org/grpc | 1.51.0 |
1.56.3 |
| google.golang.org/protobuf | 1.28.1 |
1.30.0 |
Updates github.com/hashicorp/go-getter from 1.7.1 to 1.7.5
Release notes
Sourced from github.com/hashicorp/go-getter's releases.
v1.7.5
What's Changed
- Prevent Git Config Alteration on Git Update by
@dduzgun-securityin hashicorp/go-getter#497New Contributors
@dduzgun-securitymade their first contribution in hashicorp/go-getter#497Full Changelog: hashicorp/go-getter@v1.7.4...v1.7.5
v1.7.4
What's Changed
- Escape user-provided strings in
gitcommands hashicorp/go-getter#483- Fixed a bug in
.netrchandling if the file does not exist hashicorp/go-getter#433Full Changelog: hashicorp/go-getter@v1.7.3...v1.7.4
v1.7.3
What's Changed
- SEC-090: Automated trusted workflow pinning (2023-04-21) by
@hashicorp-tsccrin hashicorp/go-getter#432- SEC-090: Automated trusted workflow pinning (2023-09-11) by
@hashicorp-tsccrin hashicorp/go-getter#454- SEC-090: Automated trusted workflow pinning (2023-09-18) by
@hashicorp-tsccrin hashicorp/go-getter#458- don't change GIT_SSH_COMMAND when there is no sshKeyFile by
@jbardinin hashicorp/go-getter#459New Contributors
@hashicorp-tsccrmade their first contribution in hashicorp/go-getter#432Full Changelog: hashicorp/go-getter@v1.7.2...v1.7.3
v1.7.2
What's Changed
- Don't override
GIT_SSH_COMMANDwhen not needed by@nl-brett-stimehashicorp/go-getter#300Full Changelog: hashicorp/go-getter@v1.7.1...v1.7.2
Commits
5a63fd9Merge pull request #497 from hashicorp/fix-git-update5b7ec5ffetch tags on update and fix tests9906874recreate git config during update to prevent config alteration268c11cescape user provide string to git (#483)975961fMerge pull request #433 from adrian-bl/netrc-fix0298a22Merge pull request #459 from hashicorp/jbardin/setup-git-envc70d9c9don't change GIT_SSH_COMMAND if there's no keyfile3d5770fMerge pull request #458 from hashicorp/tsccr-auto-pinning/trusted/2023-09-180688979Result of tsccr-helper -log-level=info -pin-all-workflows .e66f244Merge pull request #454 from hashicorp/tsccr-auto-pinning/trusted/2023-09-11- Additional commits viewable in compare view
Updates golang.org/x/crypto from 0.1.0 to 0.17.0
Commits
9d2ee97ssh: implement strict KEX protocol changes4e5a261ssh: close net.Conn on all NewServerConn errors152cdb1x509roots/fallback: update bundlefdfe1f8ssh: defer channel window adjustmentb8ffc16blake2b: drop Go 1.6, Go 1.8 compatibility7e6fbd8ssh: wrap errors from client handshakebda2f3fargon2: avoid clobbering BP325b735ssh/test...
v1.6.0 (not recommended)
NOTE: Requires Terraform v1.6.4 or later to work with S3 backends. See #102
what
Add options required by S3-compatible backend for Oracle Cloud Infrastructure as described here
why
Some of the options available for S3 backend for Terraform are not supported by remote-state module. However, they are useful when working with cloud providers other than AWS.
references
v1.5.0
update version pinning of cloudposse/utils @mcalhoun (#68)
what
Update the pinning of upstream cloudposse/utils to <2.0.0
why
We previously added this pinning because we mistakenly released some changes to the provider without testing backward compatibility and left customers in a broken state. In future releases of cloudposse/utils we will release any potential breaking changes as 2.0.0. Pinning to <2.0.0 will allow us to continue to take advantage of bug fixes in the 1.x.x versions and allow the caller to specify a pinned version in their root module if desired.
v1.4.3
Sync github @max-lobur (#65)
Rebuild github dir from the template
🚀 Enhancements
Update `remote-state` module @aknysh (#66)
what
- Update
remote-statemodule - Add example using
bypass=true - Update terratest
- Update Go to 1.20
why
- If
var.bypassis set totrue, don't call the datasources, just return the defaults
test
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: Outputs:
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66:
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: remote_state_using_context = {
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val1" = true
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val2" = "2"
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val3" = 3
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val4" = null
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: }
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: remote_state_using_context_ignore_errors = {
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "default_output" = "default-value"
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: }
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: remote_state_using_stack = {
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val1" = true
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val2" = "2"
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val3" = 3
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "val4" = null
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: }
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: remote_state_with_bypass = {
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: "default_output" = "default-value"
TestExamplesRemoteState 2023-06-02T04:23:42Z logger.go:66: }
v1.4.2
🚀 Enhancements
Update "cloudposse/utils" provider versions. Update GitHub workflows @aknysh (#64)
what
- Update
cloudposse/utilsprovider versions - Update GitHub workflows
why
- Use the latest
utilsprovider (added new features, see https://github.com/cloudposse/terraform-provider-utils/releases/tag/1.8.0) - Keep up to date
references
Supersedes and close #63
v1.4.1
v1.4.0
add azurerm backend to remote-state @SlavaNL (#61)
what
- Allow to use
azurermbackend to read a state from
why
- Currently only
s3andremotebackend supported
references
v1.3.1
This release is fully backward compatible with v1.1.1 and earlier, and has a workaround for hashicorp/terraform#32023 in the remote-state module. Use of version 1.2.0 or 1.3.0 is not recommended.