github-actions
released this
11 Mar 18:08
·
18 commits
to refs/heads/main
since this release
Move `atmos-gitops-config.yaml` to `atmos.yaml` @goruha (#63)
what
- Move
atmos-gitops-config.yaml
toatmos.yaml
why
- Reduce configs files
references
-
https://cloudposse.atlassian.net/browse/DEV-1589
Migrating from
v1
tov2
The notable changes in
v2
are:v2
works only withatmos >= 1.63.0
v2
dropsinstall-terraform
input because terraform is not required for affected stacks callv2
dropsatmos-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 theatmos.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
tov2
, you should have something similar to the following in youratmos.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-plan@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-plan@v1 with: component: "foobar" stack: "plat-ue2-sandbox" atmos-gitops-config-path: ./.github/config/atmos-gitops.yaml