You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When chamber is used to populate environment variables into a Elastic Container Services (ECS) task, you are able to add environment variables to the command using containerOverrides:
However, if you are running a chamber command these environment variables are overwritten if they exist in the service.
It would be good to be able to do:
chamber exec --noclobber <service>
And have chamber not overwrite and environment variables that are already set. An update to the way 'collisions' are handled in the code should achieve this.
To this end, --noclobber sits alongside the existing --pristine and --strict switches and should not be used with them as it works in the opposite way:
--strict and --noclobber - Should raise an error, these switches do pretty much the opposite of each other, --strict requiring the variables be set and --noclobber telling chamber not to overwrite them
--pristine and --noclobber - Should also error, --noclobber is allowing existing values to come through, --pristine explicitly prevents them from being inherited
The text was updated successfully, but these errors were encountered:
I haven't been involved in this project previously beyond keeping the lights on, but would like to respond. (I'm a Segment employee.)
The no-clobber idea makes sense to me, including how it conflicts with --strict and --pristine. If you're still interested in pursuing a PR, go for it. I took a look at the branch and my only big suggestion is refactoring the LoadNoClobber func into load.
When
chamber
is used to populate environment variables into a Elastic Container Services (ECS) task, you are able to add environment variables to the command usingcontainerOverrides
:However, if you are running a
chamber
command these environment variables are overwritten if they exist in the service.It would be good to be able to do:
And have chamber not overwrite and environment variables that are already set. An update to the way 'collisions' are handled in the code should achieve this.
To this end,
--noclobber
sits alongside the existing--pristine
and--strict
switches and should not be used with them as it works in the opposite way:--strict
and--noclobber
- Should raise an error, these switches do pretty much the opposite of each other,--strict
requiring the variables be set and--noclobber
telling chamber not to overwrite them--pristine
and--noclobber
- Should also error,--noclobber
is allowing existing values to come through,--pristine
explicitly prevents them from being inheritedThe text was updated successfully, but these errors were encountered: