aws / aws-cli

Universal Command Line Interface for Amazon Web Services
Other
15.32k stars 4.07k forks source link

Include SessionManagerPlugin in Docker image #5373

Open utterlyforked opened 4 years ago

utterlyforked commented 4 years ago

The provided Amazon/aws-cli docker image is a great solution for deploying the AWS-CLI easily. I don't need to install the CLI or dependencies on my local machine. It does not however support the use of AWS SSM because the SessionManagerPlugin is not installed in the image.

Please include the AWS SSM Plugin in the image.

kdaily commented 4 years ago

Thanks for the feature request, @utterlyforked!

aries1980 commented 3 years ago

How can we help to get the one-liner change into the image? My Dockerfile just because of this optional-but-actually-mandatory plugin:

FROM amazon/aws-cli

RUN curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm" && \
    yum install -y ./session-manager-plugin.rpm
andymac4182 commented 2 years ago

This would be amazing if it could get fixed up. This removes the docker image as an option for us :(

horttanainen commented 2 years ago

Dear AWS have you given up on this project?

aries1980 commented 2 years ago

If someone could explain us why this is a hard thing to add give the solution above, that would hush away the thoughts on this project has a bad governance.

alimeerutech commented 2 years ago

+1

dieterrosch commented 2 years ago

How can this one line change be open for 2 years already?

realsby commented 1 year ago

+1

kevkearney commented 1 year ago

+1

alexinfoblox commented 1 year ago

+100500

mshytikov commented 1 year ago

+1

NikDevPHP commented 1 year ago

+1

tim-finnigan commented 1 year ago

Hi all, thanks for your patience. This feature request just came up in discussions with the team. The consensus was that this is a reasonable request, but there are still some tradeoffs to consider here. There is some concern about bloating the latest image by including the plugin when only a subset of CLI users may need this. Further investigation and discussion is needed but in the meantime we still want to continue tracking the issue here. Please :+1: the issue if you are also interested in seeing this.

lorengordon commented 1 year ago

Maybe tag the image separately, similar to how many projects publish images with tag modifiers like "full" "slim" "buster" "debian" etc...

tim-finnigan commented 1 year ago

Thanks @lorengordon for the suggestion, that is a path forward that the team is considering here.

Disruption commented 1 year ago

In case it's useful for anyone, we were using this in github actions, so I created a very small repository to customize the action. Since it's public, feel free to use it if anyone is on the same situation, like:

name: Whatever task you want to perform requiring the session manager plugin
uses: KadooRegalos/AwsCliSMP@master
env:
  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
with:
  args: your aws cli command, like ecs execute-command to perform database migrations on a running task

So basically, the only change is on the "uses" line, where instead of the official aws cli docker image, we have our repo action "KadooRegalos/AwsCliSMP@master"

smeyfroi commented 7 months ago

@tim-finnigan is there any news on this issue? The container offered here is almost useful, but ultimately not universally useful without the missing SSM tools.

timnolte commented 7 months ago

Creating an image with the SM plugin and having it tagged as much, keeping the version without that tag lighter sure seems like the way to do it. I hope we see this as it's causing an ECS implementation hurdle for our company.

tim-finnigan commented 3 months ago

I brought this issue up again for discussion with the team, and there are still concerns about the image becoming bloated. For those who require the plugin it is a straightforward workaround to pull it into your image. For reference here is documentation on installing the session manager plugin: https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html

sn0wcat commented 2 months ago

So the cli has support for all kinds of obscure aws services but the one actually useful command is not included because of ‘bloating’ 🙄

ScubaDrew commented 1 month ago

I brought this issue up again for discussion with the team, and there are still concerns about the image becoming bloated. For those who require the plugin it is a straightforward workaround to pull it into your image. For reference here is documentation on installing the session manager plugin: https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html

Unless I missed it, this does not include instructions for the docker container in question.

imtiazwazir commented 1 month ago

+1