node-credstash
node-credstash copied to clipboard
Add support for getting ECS style authentication
When running Credstash inside ECS as a docker container, the
authentication is being "injected" as an assumed role.
This PR adds support for checking whether the context the task is being ran in is ECS, if it is, it will instanciate the special object to grab the auth from the ECS proxy.
BEFORE:
When trying to run the task, it would assume the role of the instance it's running on (which may or may not have the permissions you want).
User `<instance-role>' is not authorized to perform `<specific-task>' on resource `<some-resource>'
After:
Task is running as expected and assuming the correct role.
All tests are passing
Some more changes
- Instead of requiring and customizing the AWS sdk in multiple places, put it in a single file and customizing only there.
- Added tests for the right credentials being passed in
- Checking whether we are in ECS context based on a special ENV var only passed from there