github cloudposse/atmos v1.32.4

latest releases: v1.105.0, v1, v1.104.0...
19 months ago

what

  • Update atmos describe affected command

why

  • Check if not only the files in the component folder itself have changed, but also the files in all sub-folders at any level

test

For example, if we have the policies sub-folder in the component folder components/terraform/top-level-component1, and we have some files in the sub-folder (e.g. components/terraform/top-level-component1/policies/policy1.rego), and if the files changed, atmos describe affected would mark all Atmos components that use the components/terraform/top-level-component1 Terraform component as changed:

Cloning repo 'https://github.com/cloudposse/atmos' into the temp dir '/var/folders/g5/lbvzy_ld2hx4mgrgyp19bvb00000gn/T/16797114913176545339'

Checking out Git ref 'refs/heads/master' ...

Enumerating objects: 4320, done.
Counting objects: 100% (105/105), done.
Compressing objects: 100% (70/70), done.
Total 4320 (delta 39), reused 56 (delta 22), pack-reused 4215

Checked out Git ref 'refs/heads/master'

Current working repo HEAD: 2d995c21cb3fff46f39da1eeadb9d7b0f8faf72c refs/heads/update-describe-affected-2
Remote repo HEAD: 38b8fe6ca1221e16f0b969815bddfe98928cd1b5 refs/heads/master

Getting current working repo commit object...
Got current working repo commit object
Getting current working repo commit tree...
Got current working repo commit tree
Getting remote repo commit object...
Got remote repo commit object
Getting remote repo commit tree...
Got remote repo commit tree
Finding diff between the current working branch and remote target branch ...
Found diff between the current working branch and remote target branch

Changed files:
examples/complete/components/terraform/top-level-component1/policies/policy1.rego

Affected components and stacks:

  - component: top-level-component1
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant1-ue2-prod
    stack_slug: tenant1-ue2-prod-top-level-component1
    spacelift_stack: tenant1-ue2-prod-top-level-component1
    atlantis_project: tenant1-ue2-prod-top-level-component1
    affected: component
  - component: top-level-component1
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant2-ue2-staging
    stack_slug: tenant2-ue2-staging-top-level-component1
    spacelift_stack: tenant2-ue2-staging-top-level-component1
    atlantis_project: tenant2-ue2-staging-top-level-component1
    affected: component
  - component: top-level-component1
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant1-ue2-staging
    stack_slug: tenant1-ue2-staging-top-level-component1
    spacelift_stack: tenant1-ue2-staging-top-level-component1
    atlantis_project: tenant1-ue2-staging-top-level-component1
    affected: component
  - component: top-level-component1
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant1-ue2-test-1
    stack_slug: tenant1-ue2-test-1-top-level-component1
    spacelift_stack: tenant1-ue2-test-1-top-level-component1
    atlantis_project: tenant1-ue2-test-1-top-level-component1
    affected: component
  - component: top-level-component2
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant1-ue2-test-1
    stack_slug: tenant1-ue2-test-1-top-level-component2
    atlantis_project: tenant1-ue2-test-1-top-level-component2
    affected: component
  - component: top-level-component1
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant2-ue2-dev
    stack_slug: tenant2-ue2-dev-top-level-component1
    spacelift_stack: tenant2-ue2-dev-top-level-component1
    atlantis_project: tenant2-ue2-dev-top-level-component1
    affected: component
  - component: top-level-component1
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant2-ue2-prod
    stack_slug: tenant2-ue2-prod-top-level-component1
    spacelift_stack: tenant2-ue2-prod-top-level-component1
    atlantis_project: tenant2-ue2-prod-top-level-component1
    affected: component
  - component: top-level-component1
    component_type: terraform
    component_path: examples/complete/components/terraform/top-level-component1
    stack: tenant1-ue2-dev
    stack_slug: tenant1-ue2-dev-top-level-component1
    spacelift_stack: tenant1-ue2-dev-top-level-component1
    atlantis_project: tenant1-ue2-dev-top-level-component1
    affected: component
  - component: vpc
    component_type: terraform
    component_path: examples/complete/components/terraform/infra/vpc
    stack: tenant1-ue2-dev
    stack_slug: tenant1-ue2-dev-vpc
    spacelift_stack: tenant1-ue2-dev-vpc
    atlantis_project: tenant1-ue2-dev-vpc
    affected: stack.vars

Don't miss a new atmos release

NewReleases is sending notifications on new releases.