Skip to content

Releases: cloudposse/terraform-yaml-stack-config

v1.8.0 [remote-state] Improve backend compatibility

13 Oct 01:25
00ea92d
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

v1.3.0 Broken, do not use

18 Oct 12:48
a7e87a4
Compare
Choose a tag to compare
Pre-release
Restore support for Terraform Cloud @Nuru (#57)

what

  • Restore support for Terraform Cloud remote state backend that was removed in #56 / release v1.2.0

why

  • Restore temporarily disabled feature