runatlantis/atlantis

multienv should not read from stderr

Opened this issue ยท 0 comments

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request. Searching for pre-existing feature requests helps us consolidate datapoints for identical requirements into a single place, thank you!
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Overview of the Issue

Using workflow multienv from a script that use stderr for logging and stdout for output, atlantis is reading stderr too and throw ``Invalid environment variable definition`.

Invalid environment variable definition: 2024/07/10 20:48:36 connecting to vault @ http://vault-active.vault:8200
2024/07/10 20:48:36 logging in to vault
2024/07/10 20:48:36 logging in to vault: success!
2024/07/10 20:48:36 connecting to vault: success!
2024/07/10 20:48:36 getting secret devops/atlantis/dev-platforms/common key ARM_CLIENT_ID from vault
2024/07/10 20:48:36 getting secret key from vault: success!

ARM_CLIENT_ID="........"
 (invalid key syntax)

It may be an atlantis feature?

Reproduction Steps

A script that output to stderr message and variables definition to stdout:

Logs

Environment details

Additional Context

Here err / out --> https://github.com/runatlantis/atlantis/blob/main/server/core/runtime/models/shell_command_runner.go#L134