Skip to content

v1.29.0

Compare
Choose a tag to compare
@aknysh aknysh released this 13 Feb 15:46
· 113 commits to master since this release
ee7ab21

what

  • Add --redirect-stderr flag to atmos commands
  • If --redirect-stderr flag is not passed, always redirect stderr to stdout for terraform workspace select command

why

  • The flag specifies the file descriptor to redirect stderr to when atmos executes subcommands like atmos terraform and atmos helmfile
  • Errors can be redirected to any file or any standard file descriptor (including /dev/null and /dev/stdout)
  • Useful in GitHub actions to prevent failures when any error sent to stderr makes the action fail
  • If --redirect-stderr flag is not passed, always redirect stderr to stdout for terraform workspace select command because creating and then selecting a new terraform workspace are normal operations and we don't want errors in stderr b/c that would break some processes (e.g. GitHub actions)

examples

atmos terraform plan test/test-component-override-2 -s tenant1-ue2-dev --redirect-stderr /dev/stdout
atmos terraform plan test/test-component-override -s tenant1-ue2-dev --redirect-stderr ./errors.txt

atmos terraform apply test/test-component-override-2 -s tenant1-ue2-dev --redirect-stderr /dev/stdout
atmos terraform apply test/test-component-override -s tenant1-ue2-dev --redirect-stderr ./errors.txt

atmos terraform destroy test/test-component-override-2 -s tenant1-ue2-dev --redirect-stderr /dev/stdout
atmos terraform destroy test/test-component-override -s tenant1-ue2-dev --redirect-stderr /dev/null

mos terraform workspace test/test-component-override-3 -s tenant1-ue2-dev --redirect-stderr /dev/null
atmos terraform workspace test/test-component-override-3 -s tenant1-ue2-dev --redirect-stderr /dev/stdout
atmos terraform workspace test/test-component-override-3 -s tenant1-ue2-dev --redirect-stderr ./errors.txt

test

atmos terraform plan test/test-component-override-3 -s tenant1-ue2-dev
Executing command:
/usr/local/bin/terraform workspace select test-component-override-3-workspace

# This is an error generated by terraform and sent to `stderror`
Workspace "test-component-override-3-workspace" doesn't exist.

You can create this workspace with the "new" subcommand.

Executing command:
/usr/local/bin/terraform workspace new test-component-override-3-workspace
Created and switched to workspace "test-component-override-3-workspace"!
atmos terraform plan test/test-component-override-3 -s tenant1-ue2-dev --redirect-stderr /dev/null
Executing command:
/usr/local/bin/terraform workspace select test-component-override-3-workspace

Executing command:
/usr/local/bin/terraform workspace new test-component-override-3-workspace
Created and switched to workspace "test-component-override-3-workspace"!