Skip to content

Releases: cloudposse/github-action-atmos-terraform-apply

v2.0.0

11 Mar 18:05
3ec18a4
Compare
Choose a tag to compare
Move `atmos-gitops-config.yaml` to `atmos.yaml` @goruha (#39)

what

  • Move atmos-gitops-config.yaml to atmos.yaml

why

  • Reduce configs files

references

  • https://cloudposse.atlassian.net/browse/DEV-1589

    Migrating from v1 to v2

    The notable changes in v2 are:

    • v2 works only with atmos >= 1.63.0
    • v2 drops install-terraform input because terraform is not required for affected stacks call
    • v2 drops atmos-gitops-config-path input and the ./.github/config/atmos-gitops.yaml config file. Now you have to use GitHub Actions environment variables to specify the location of the atmos.yaml.

    The following configuration fields now moved to GitHub action inputs with the same names

    name
    atmos-version
    atmos-config-path

    The following configuration fields moved to the atmos.yaml configuration file.

    name YAML path in atmos.yaml
    aws-region integrations.github.gitops.artifact-storage.region
    terraform-state-bucket integrations.github.gitops.artifact-storage.bucket
    terraform-state-table integrations.github.gitops.artifact-storage.table
    terraform-state-role integrations.github.gitops.artifact-storage.role
    terraform-plan-role integrations.github.gitops.role.plan
    terraform-apply-role integrations.github.gitops.role.apply
    terraform-version integrations.github.gitops.terraform-version
    enable-infracost integrations.github.gitops.infracost-enabled
    sort-by integrations.github.gitops.matrix.sort-by
    group-by integrations.github.gitops.matrix.group-by

    For example, to migrate from v1 to v2, you should have something similar to the following in your atmos.yaml:

    ./.github/config/atmos.yaml

    # ... your existing configuration
    
    integrations:
      github:
        gitops:
          terraform-version: 1.5.2
          infracost-enabled: false
          artifact-storage:
            region: us-east-2
            bucket: cptest-core-ue2-auto-gitops
            table: cptest-core-ue2-auto-gitops-plan-storage
            role: arn:aws:iam::xxxxxxxxxxxx:role/cptest-core-ue2-auto-gitops-gha
          role:
            plan: arn:aws:iam::yyyyyyyyyyyy:role/cptest-core-gbl-identity-gitops
            apply: arn:aws:iam::yyyyyyyyyyyy:role/cptest-core-gbl-identity-gitops
          matrix:
            sort-by: .stack_slug
            group-by: .stack_slug | split("-") | [.[0], .[2]] | join("-")

    .github/workflows/main.yaml

      - name: Plan Atmos Component
        uses: cloudposse/github-action-atmos-terraform-apply@v2
        with:
          component: "foobar"
          stack: "plat-ue2-sandbox"
          atmos-config-path: ./rootfs/usr/local/etc/atmos/
          atmos-version: 1.63.0

    This corresponds to the v1 configuration (deprecated) below.

    The v1 configuration file ./.github/config/atmos-gitops.yaml looked like this:

    atmos-version: 1.45.3
    atmos-config-path: ./rootfs/usr/local/etc/atmos/
    terraform-state-bucket: cptest-core-ue2-auto-gitops
    terraform-state-table: cptest-core-ue2-auto-gitops
    terraform-state-role: arn:aws:iam::xxxxxxxxxxxx:role/cptest-core-ue2-auto-gitops-gha
    terraform-plan-role: arn:aws:iam::yyyyyyyyyyyy:role/cptest-core-gbl-identity-gitops
    terraform-apply-role: arn:aws:iam::yyyyyyyyyyyy:role/cptest-core-gbl-identity-gitops
    terraform-version: 1.5.2
    aws-region: us-east-2
    enable-infracost: false
    sort-by: .stack_slug
    group-by: .stack_slug | split("-") | [.[0], .[2]] | join("-")  

    And the v1 GitHub Action Workflow looked like this.

    .github/workflows/main.yaml

      - name: Plan Atmos Component
        uses: cloudposse/github-action-atmos-terraform-apply@v1
        with:
          component: "foobar"
          stack: "plat-ue2-sandbox"
          atmos-gitops-config-path: ./.github/config/atmos-gitops.yaml

v1.6.0

07 Mar 20:13
c52520f
Compare
Choose a tag to compare
Update actions/setup-node action to v4 @renovate (#24)

This PR contains the following updates:

Package Type Update Change
actions/setup-node action major v3 -> v4

Release Notes

actions/setup-node (actions/setup-node)

v4

Compare Source


Update cloudposse/actions action to v0.33.0 @renovate (#5)

This PR contains the following updates:

Package Type Update Change
cloudposse/actions action minor 0.30.0 -> 0.33.0

Release Notes

cloudposse/actions (cloudposse/actions)

v0.33.0

Compare Source

v0.32.0: 0.32.0 Update cloned actions

Compare Source

What's Changed

New Contributors

Full Changelog: cloudposse/actions@0.31.0...0.32.0

v0.31.0: Update Alpine-based actions to Alpine 3.16

Compare Source

What's Changed

Full Changelog: cloudposse/actions@0.30.0...0.31.0


Update aws-actions/configure-aws-credentials action to v4 @renovate (#22)

This PR contains the following updates:

Package Type Update Change
aws-actions/configure-aws-credentials action major v2.2.0 -> v4.0.2

Release Notes

aws-actions/configure-aws-credentials (aws-actions/configure-aws-credentials)

v4.0.2

Compare Source

See the changelog for details about the changes included in this release.

v4.0.1

Compare Source

See the changelog for details about the changes included in this release.

v4.0.0

Compare Source

See the changelog for details about the changes included in this release.

v3.0.2

Compare Source

See the changelog for details about the changes included in this release.

v3.0.1

Compare Source

See the changelog for details about the changes included in this release.

v3.0.0

Compare Source

See the changelog for details about the changes included in this release.


Update hashicorp/setup-terraform action to v3 @renovate (#25)

This PR contains the following updates:

Package Type Update Change
hashicorp/setup-terraform action major v2 -> v3

Release Notes

hashicorp/setup-terraform (hashicorp/setup-terraform)

v3

Compare Source


Update jaxxstorm/action-install-gh-release action to v1.11.0 @renovate (#38)

This PR contains the following updates:

Package Type Update Change
jaxxstorm/action-install-gh-release action minor v1.10.0 -> v1.11.0

Release Notes

jaxxstorm/action-install-gh-release (jaxxstorm/action-install-gh-release)

v1.11.0

Compare Source

What's Changed

Read more

v1.5.0

29 Feb 08:15
7261e9c
Compare
Choose a tag to compare
Update infracost/actions action to v3 @renovate (#41)

This PR contains the following updates:

Package Type Update Change
infracost/actions action major v2 -> v3

Release Notes

infracost/actions (infracost/actions)

v3

Compare Source


v1.4.0

27 Feb 17:58
162c201
Compare
Choose a tag to compare
Fix Saved plan does not match the given state @goruha (#40)

what

  • Fix Saved plan does not match the given state

references

v1.3.0

25 Jan 21:58
39b5ee4
Compare
Choose a tag to compare
Disable outputs for summary @goruha (#37)

what

  • Disable outputs for summary

why

references

v1.2.0

25 Jan 20:54
35b0c16
Compare
Choose a tag to compare
Fix terraform docs config path @goruha (#36)

what

  • Fix terraform docs config path

v1.1.0

25 Jan 20:41
324ce8f
Compare
Choose a tag to compare
Fix terraform docs config path @goruha (#35)

what

  • Fix terraform docs config path

v1.0.1

25 Jan 19:31
1d38307
Compare
Choose a tag to compare
Added terraform output to summary @goruha (#34)

what

  • Add the ability to display terraform outputs after apply
chore: updated readme @milldr (#32)

what

  • updated readme

why

  • corrected job name (apply)
  • added reference for docs
  • pulled in content from atmos docs
  • make readme

references

v1.0.0

13 Dec 15:56
75e5571
Compare
Choose a tag to compare
Move to GitOps Config File @goruha (#29)

What

  • Use configuration file

Why

  • Make DRY workflows

Migrating from v1 to v2

v2 drop component-path variable. Now it fetches from atmos.yaml file automatically.

v2 moved variables from inputs to atmos gitops config path ./.github/config/atmos-gitops.yaml

name
atmos-version
atmos-config-path
terraform-state-bucket
terraform-state-table
terraform-state-role
terraform-plan-role
terraform-apply-role
terraform-version
aws-region
enable-infracost

If you want the same behavior in v2 as inv1 you should create config ./.github/config/atmos-gitops.yaml with the same variables as in v1 inputs.

  - name: Terraform apply
    uses: cloudposse/github-action-atmos-terraform-apply@v2
    with:
      atmos-gitops-config-path: ./.github/config/atmos-gitops.yaml
      component: "foobar"
      stack: "plat-ue2-sandbox"

same behaviour as

  - name: Terraform apply
    uses: cloudposse/github-action-atmos-terraform-apply@v1
    with:
      component: "foobar"
      stack: "plat-ue2-sandbox"
      component-path: "components/terraform/s3-bucket"
      terraform-apply-role: "arn:aws:iam::111111111111:role/acme-core-gbl-identity-gitops"
      terraform-state-bucket: "acme-core-ue2-auto-gitops"
      terraform-state-role: "arn:aws:iam::999999999999:role/acme-core-ue2-auto-gitops-gha"
      terraform-state-table: "acme-core-ue2-auto-gitops"
      aws-region: "us-east-2"

v0.11.0

21 Nov 15:57
bf66909
Compare
Choose a tag to compare
Install tfcmt @goruha (#28)

what

  • Install tfcmt to toolchain dir

why

  • Old action shmokmt/actions-setup-tfcmt@v2 installed tfcmt to a global directory that leads to conflicts