Releases: cloudposse/github-action-atmos-terraform-drift-remediation
v3.0.0
Cut new release @goruha (#24)
## what * Minor changes to run release workflowwhy
- Previous PR merge had broken workflows
Skip AWS auth if Gitops aws configuration empty in atmos settings @goruha (#21)
## whatThis is based on cloudposse/github-action-atmos-terraform-apply#62
- Pin
cloudposse/github-action-atmos-terraform-apply
action to the latest
why
To support azure and better config settings
references
🤖 Automatic Updates
Update README.md and docs @cloudpossebot (#5)
## what This is an auto-generated PR that updates the README.md and docswhy
To have most recent changes of README.md and doc from origin templates
Update .github/settings.yml @osterman (#20)
## what - Update `.github/settings.yml` - Drop `.github/auto-release.yml` fileswhy
- Re-apply
.github/settings.yml
from org level - Use organization level auto-release settings
references
- DEV-1242 Add protected tags with Repository Rulesets on GitHub
Update release workflow to allow pull-requests: write @osterman (#19)
## what - Update workflow (`.github/workflows/release.yaml`) to have permission to comment on PRwhy
- Add comment to PR when it is released
v2.0.0
Move `atmos-gitops-config.yaml` to `atmos.yaml` @goruha (#7)
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: Remediate Drift uses: cloudposse/github-action-atmos-terraform-drift-remediation@v2 with: issue-number: ${{ github.event.issue.number }} action: remediate atmos-config-path: ./rootfs/usr/local/etc/atmos/
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: Remediate Drift uses: cloudposse/github-action-atmos-terraform-drift-remediation@v1 with: issue-number: ${{ github.event.issue.number }} action: remediate atmos-gitops-config-path: ./.github/config/atmos-gitops.yaml
Update actions/checkout action to v4 @renovate (#10)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
actions/checkout | action | major | v3 -> v4 |
Release Notes
actions/checkout (actions/checkout)
v4
Configure Renovate @renovate (#2)
Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.
🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.
Detected Package Files
.github/workflows/auto-readme.yml
(github-actions).github/workflows/auto-release.yml
(github-actions).github/workflows/release.yml
(github-actions).github/workflows/validate-codeowners.yml
(github-actions)action.yml
(github-actions)
Configuration Summary
Based on the default config's presets, Renovate will:
- Start dependency updates only once this onboarding PR is merged
- Show all Merge Confidence badges for pull requests.
- Enable Renovate Dependency Dashboard creation.
- Use semantic commit type
fix
for dependencies andchore
for all others if semantic commits are in use. - Ignore
node_modules
,bower_components
,vendor
and various test/tests directories. - Group known monorepo packages together.
- Use curated list of recommended non-monorepo package groupings.
- Apply crowd-sourced package replacement rules.
- Apply crowd-sourced workarounds for known problems with packages.
🔡 Do you want to change how Renovate upgrades your dependencies? Add your custom config to renovate.json
in this branch. Renovate will update the Pull Request description the next time it runs.
What to Expect
With your current configuration, Renovate will create 3 Pull Requests:
Update mszostok/codeowners-validator action to v0.7.4
- Schedule: ["at any time"]
- Branch name:
renovate/mszostok-codeowners-validator-0.x
- Merge into:
main
- Upgrade mszostok/codeowners-validator to
v0.7.4
Update actions/checkout action to v4
- Schedule: ["at any time"]
- Branch name:
renovate/actions-checkout-4.x
- Merge into:
main
- Upgrade actions/checkout to
v4
Update actions/github-script action to v7
- Schedule: ["at any time"]
- Branch name:
renovate/actions-github-script-7.x
- Merge into:
main
- Upgrade actions/github-script to
v7
🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for prhourlylimit
for details.
❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section.
If you need any further assistance then you can also request help here.
This PR has been generated by Mend Renovate. View repository job log here.
v1.3.0
Fix: Don't Close PRs if Terraform Apply Fails @milldr (#8)
what
- Fix apply step result
why
- Don't close a PR if the Terraform apply fails
- This action was previously always returning true, even when the apply step failed. Then I accidentally pushed directly to main with the reverse so this now always fails.
- I've set up branch protection to prevent that in the future and then fixed it with this PR
references
v1.2.0
- Fix conditional result for
APPLY_SUCCEEDED
. Do not close a PR when Terraform fails
v1.1.0
v1.0.0
Move to GitOps Config File (#4) ## what * Incapsulate configs
v0.3.0
Move to GitOps Config File @goruha (#4)
what
- Incapsulate configs
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: Remediate Drift
uses: cloudposse/github-action-atmos-terraform-drift-remediation@v2
with:
issue-number: ${{ github.event.issue.number }}
action: remediate
atmos-gitops-config-path: ./.github/config/atmos-gitops.yaml
same behaviour as
- name: Remediate Drift
uses: cloudposse/github-action-atmos-terraform-drift-remediation@v1
with:
issue-number: ${{ github.event.issue.number }}
action: remediate
atmos-config-path: "${{ github.workspace }}/rootfs/usr/local/etc/atmos/"
terraform-plan-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.2.0
- No changes