Skip to content

Releases: cloudposse/terraform-yaml-stack-config

v0.15.3

23 Apr 18:56
83d40f8
Compare
Choose a tag to compare

🚀 Enhancements

Fix `imports` output @aknysh (#26)

what

  • Fix imports output

why

  • imports is a top-level stack-level output field, it should not be under components

v0.15.2

19 Apr 21:50
7ccb918
Compare
Choose a tag to compare

🤖 Automatic Updates

Update README.md and docs @cloudpossebot (#24)

what

This is an auto-generated PR that updates the README.md and docs

why

To have most recent changes of README.md and doc from origin templates

v0.15.1

16 Apr 04:30
3ae9712
Compare
Choose a tag to compare

🚀 Enhancements

Use latest `terraform-provider-utils` provider. Add `process_component_stack_deps` variable. Add `imports` and `stacks` outputs @aknysh (#21)

what

  • Use latest terraform-provider-utils
  • Add process_component_stack_deps variable
  • Add imports and stacks outputs

why

  • Use new features from the latest version of the provider
  • imports attribute shows all imported stacks for the current stack - can be used in CI/CD pipelines to determine stack dependencies
  • stacks attribute shows all the stacks the component (and its base component, if present) is declared in - can be used in CI/CD pipelines (e.g. Spacelift) to determine all stacks that the component depends on,
    and to provision triggers for all the dependencies (once any of the stack config files changes, the component's job will be triggered)

references

[remote-state] ignore `enabled`, allow `bypass` @Nuru (#22)

what

  • [remote-state] ignore enabled
  • [remote-state] allow bypassallow bypass

why

  • Modules that use remote-state usually need it to work even when the module itself is disabled
  • Modules that really know what they are doing need a replacement for enabled to prevent the lookup of the remote state

🐛 Bug Fixes

Work around requirement that objects match exactly @Nuru (#23)

what

  • Work around requirement that objects match exactly when used in a tertiary conditional expression

why

  • We do not want to predict or limit the structure of a remote state

references

v0.15.0

16 Apr 00:32
e52e8ca
Compare
Choose a tag to compare
v0.15.0 Pre-release
Pre-release

Known bug causes plans to fail when using remote-state, bug fix on the way.

Use latest `terraform-provider-utils` provider. Add `process_component_stack_deps` variable. Add `imports` and `stacks` outputs @aknysh (#21)

what

  • Use latest terraform-provider-utils
  • Add process_component_stack_deps variable
  • Add imports and stacks outputs

why

  • Use new features from the latest version of the provider
  • imports attribute shows all imported stacks for the current stack - can be used in CI/CD pipelines to determine stack dependencies
  • stacks attribute shows all the stacks the component (and its base component, if present) is declared in - can be used in CI/CD pipelines (e.g. Spacelift) to determine all stacks that the component depends on,
    and to provision triggers for all the dependencies (once any of the stack config files changes, the component's job will be triggered)

references

[remote-state] ignore `enabled`, allow `bypass` @Nuru (#22)

what

  • [remote-state] ignore enabled
  • [remote-state] allow bypassallow bypass

why

  • Modules that use remote-state usually need it to work even when the module itself is disabled
  • Modules that really know what they are doing need a replacement for enabled to prevent the lookup of the remote state

v0.14.0

11 Apr 04:55
2313c97
Compare
Choose a tag to compare
Update handling of backend config and remote state for "virtual" components @aknysh (#20)

what

  • Update handling of backend config and remote state for "virtual" components

why

  • Use the base component to read the backend config and remote state if a virtual component is provided

v0.13.0

10 Mar 19:16
75cd7c6
Compare
Choose a tag to compare
add aws profile support @mcalhoun (#17)

what

  • add support for AWS profile in remote-state

why

  • to allow support for specifying an AWS Profile name instead of a role_arn to access the s3 backend

v0.12.0

04 Mar 02:28
97138c3
Compare
Choose a tag to compare
Remove `count` from stack config data source. Always set `enabled=true` on the `backend` submodule @aknysh (#16)

what

  • Remove count from stack config data source
  • Always set enabled=true on the backend submodule

why

  • count on the data source throws the Terraform "count cannot be computed" error when used from a top-level module which itself uses count on other resources
  • Always enable the backend module even if module.this.context sets enabled=false, because we always need to read the remote state (it needs environment and stage from the context) even if a top-level calling module is disabled
    (if we want to set enabled=false on the top-level modules and then use terraform apply to destroy it)

v0.11.0

28 Feb 17:59
6f49432
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release

We do not recommend using this release yet as it may introduce problems due to use of count on data sources.

Use `enabled` in all modules @aknysh (#15)

what

  • Use enabled in all modules

why

  • Respect the enabled flag to enable/disable all sub-modules
  • remote-state throws errors when enabled=false and it tries to load YAML config files

v0.10.1

26 Feb 12:39
1b51985
Compare
Choose a tag to compare

🤖 Automatic Updates

Update README.md and docs @cloudpossebot (#14)

what

This is an auto-generated PR that updates the README.md and docs

why

To have most recent changes of README.md and doc from origin templates

v0.10.0

16 Feb 02:10
de79a3a
Compare
Choose a tag to compare
Add `workspace` to terraform outputs @aknysh (#13)

what

  • Add workspace to terraform outputs

why

  • Calculate Terraform workspace for all Terraform components taking into account the base component using the component attribute
  • Simplify calling modules
       "aurora-postgres" = {
          "backend" = {
            "acl" = "bucket-owner-full-control"
            "bucket" = "eg-uw2-root-tfstate"
            "dynamodb_table" = "eg-uw2-root-tfstate-lock"
            "encrypt" = true
            "key" = "terraform.tfstate"
            "region" = "us-west-2"
            "role_arn" = "arn:aws:iam::XXXXXXXXXXXX:role/eg-gbl-root-terraform"
            "workspace_key_prefix" = "aurora-postgres"
          }
          "backend_type" = "s3"
          "component" = null
          "env" = {
            "ENV_TEST_1" = "test1"
            "ENV_TEST_2" = "test2"
            "ENV_TEST_3" = "test3"
            "ENV_TEST_4" = "test4"
            "ENV_TEST_5" = "test5"
            "ENV_TEST_6" = "test6"
            "ENV_TEST_7" = "test7"
          }
          "settings" = {
            "spacelift" = {
              "autodeploy" = false
              "branch" = "test3"
              "triggers" = [
                "4",
                "5",
                "6",
              ]
              "workspace_enabled" = false
            }
            "version" = 1
          }
          "vars" = {
            "cluster_size" = 2
            "environment" = "uw2"
            "instance_type" = "db.r4.large"
            "namespace" = "eg"
            "region" = "us-west-2"
            "stage" = "uat"
          }
          "workspace" = "uw2-uat"
        }
        "aurora-postgres-2" = {
          "backend" = {
            "acl" = "bucket-owner-full-control"
            "bucket" = "eg-uw2-root-tfstate"
            "dynamodb_table" = "eg-uw2-root-tfstate-lock"
            "encrypt" = true
            "key" = "terraform.tfstate"
            "region" = "us-west-2"
            "role_arn" = "arn:aws:iam::XXXXXXXXXXXX:role/eg-gbl-root-terraform"
            "workspace_key_prefix" = "aurora-postgres"
          }
          "backend_type" = "s3"
          "component" = "aurora-postgres"
          "env" = {
            "ENV_TEST_1" = "test1_override2"
            "ENV_TEST_2" = "test2_override2"
            "ENV_TEST_3" = "test3"
            "ENV_TEST_4" = "test4"
            "ENV_TEST_5" = "test5"
            "ENV_TEST_6" = "test6"
            "ENV_TEST_7" = "test7"
            "ENV_TEST_8" = "test8"
          }
          "settings" = {
            "spacelift" = {
              "autodeploy" = true
              "branch" = "test4"
              "triggers" = [
                "7",
                "8",
                "9",
              ]
              "workspace_enabled" = true
            }
            "version" = 2
          }
          "vars" = {
            "cluster_size" = 3
            "environment" = "uw2"
            "instance_type" = "db.r4.xlarge"
            "namespace" = "eg"
            "region" = "us-west-2"
            "stage" = "uat"
          }
          "workspace" = "uw2-uat-aurora-postgres-2"
        }