Skip to content

Releases: cloudposse/terraform-yaml-stack-config

v2.0.0

20 Feb 18:41
ce22c1c

Choose a tag to compare

Update cloudposse/utils provider to v2.0.0 @aknysh (#110) ## what
  • Update cloudposse/utils provider version constraint to >= 2.0.0, < 3.0.0 across all 13 versions.tf files (root module, 6 child modules, 6 examples)
  • Remove the old < 2.0.0 upper bound from modules/remote-state that was blocking the v2 upgrade
  • Apply the < 3.0.0 upper bound consistently across all modules (previously only modules/remote-state had an upper bound)

why

  • The cloudposse/utils provider v1.x embeds Atmos v1.189.0, which panics when it encounters newer atmos.yaml features (stores, hooks, templates.settings.gomplate, !terraform.state YAML tags). This causes a critical "Plugin did not respond" crash in data "utils_component_config", blocking all components that use the remote-state module (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.yaml features without crashing
  • The < 3.0.0 upper 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 in modules/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

Generate readme for submodules @goruha (#109) ## what * Generate readme for submodules

why

  • Allow all to keep the README updated

references

🤖 Automatic Updates

Fix go version in tests @osterman (#108) ## what - Update go `1.24`

why

  • Error loading shared library libresolv.so.2 in Go 1.20

References

Replace Makefile with atmos.yaml @osterman (#107) ## what - Remove `Makefile` - Add `atmos.yaml`

why

  • Replace build-harness with atmos for readme genration

References

  • DEV-3229 Migrate from build-harness to atmos

v1.8.0 [remote-state] Improve backend compatibility

13 Oct 01:25
00ea92d

Choose a tag to compare

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

(cf. #93 and #96)

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-role

to

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

v1.7.0 (not recommended)

12 Oct 04:34
0f393cd

Choose a tag to compare

Pre-release
feat: support for gcs backends @burnzy (#95) ## what

Simple 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 spacelift test suite is broken, and we never previously required it to work, so it is now skipped
  • Update test suite to use go v1.21 and update dependencies

why

  • When running demos and tests, it is more convenient to use local backends
  • Maintain some degree of testing
  • Closes multiple dependabot PRs:
    • Supersedes and Closes #82
    • Supersedes and Closes #83
    • Supersedes and Closes #84
    • Supersedes and Closes #87
    • Supersedes and Closes #88

🤖 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

New Contributors

Full Changelog: hashicorp/go-getter@v1.7.4...v1.7.5

v1.7.4

What's Changed

Full Changelog: hashicorp/go-getter@v1.7.3...v1.7.4

v1.7.3

What's Changed

New Contributors

Full Changelog: hashicorp/go-getter@v1.7.2...v1.7.3

v1.7.2

What's Changed

Full Changelog: hashicorp/go-getter@v1.7.1...v1.7.2

Commits
  • 5a63fd9 Merge pull request #497 from hashicorp/fix-git-update
  • 5b7ec5f fetch tags on update and fix tests
  • 9906874 recreate git config during update to prevent config alteration
  • 268c11c escape user provide string to git (#483)
  • 975961f Merge pull request #433 from adrian-bl/netrc-fix
  • 0298a22 Merge pull request #459 from hashicorp/jbardin/setup-git-env
  • c70d9c9 don't change GIT_SSH_COMMAND if there's no keyfile
  • 3d5770f Merge pull request #458 from hashicorp/tsccr-auto-pinning/trusted/2023-09-18
  • 0688979 Result of tsccr-helper -log-level=info -pin-all-workflows .
  • e66f244 Merge 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
  • 9d2ee97 ssh: implement strict KEX protocol changes
  • 4e5a261 ssh: close net.Conn on all NewServerConn errors
  • 152cdb1 x509roots/fallback: update bundle
  • fdfe1f8 ssh: defer channel window adjustment
  • b8ffc16 blake2b: drop Go 1.6, Go 1.8 compatibility
  • 7e6fbd8 ssh: wrap errors from client handshake
  • bda2f3f argon2: avoid clobbering BP
  • 325b735 ssh/test...
Read more

v1.6.0 (not recommended)

19 Aug 20:54
5422b1a

Choose a tag to compare

Pre-release

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

S3-compatible backend for OCI
Terraform S3 backend

v1.5.0

19 Jul 16:52
40c865c

Choose a tag to compare

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

02 Jun 04:38
de7da5b

Choose a tag to compare

Sync github @max-lobur (#65)

Rebuild github dir from the template

🚀 Enhancements

Update `remote-state` module @aknysh (#66)

what

  • Update remote-state module
  • Add example using bypass=true
  • Update terratest
  • Update Go to 1.20

why

  • If var.bypass is set to true, 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

27 Apr 22:22
8647952

Choose a tag to compare

🚀 Enhancements

Update "cloudposse/utils" provider versions. Update GitHub workflows @aknysh (#64)

what

  • Update cloudposse/utils provider versions
  • Update GitHub workflows

why

references

Supersedes and close #63

v1.4.1

04 Feb 15:19
21a737d

Choose a tag to compare

🚀 Enhancements

Update "cloudposse/utils" provider versions to `1.7.1` @aknysh (#62)

what

  • Update "cloudposse/utils" provider versions to 1.7.1

why

v1.4.0

27 Jan 17:25
2ca184a

Choose a tag to compare

add azurerm backend to remote-state @SlavaNL (#61)

what

  • Allow to use azurerm backend to read a state from

why

  • Currently only s3 and remote backend supported

references

v1.3.1

18 Oct 20:52
3c7ac8f

Choose a tag to compare

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.

🐛 Bug Fixes

Fix bug introduced into remote-state in #57 @Nuru (#58)

what

  • Fix bug introduced into modules/remote-state in #57

why

  • Restore intended behavior to remote-state

references