CircleCI-Public / aws-cli-orb

Install and configure the AWS command-line interface (awscli)
https://circleci.com/orbs/registry/orb/circleci/aws-cli
MIT License
57 stars 51 forks source link

[Question] Why is node needed? #61

Closed BeyondEvil closed 3 years ago

BeyondEvil commented 3 years ago

The default cimg python version in the executor is 3.8-node: https://github.com/CircleCI-Public/aws-cli-orb/blob/v1.3.1/src/executors/default.yml#L8

Why?

Thanks 🙏

KyleTryon commented 3 years ago

The default cimg python version in the executor is 3.8-node: https://github.com/CircleCI-Public/aws-cli-orb/blob/v1.3.1/src/executors/default.yml#L8

Why?

Thanks 🙏

Hello @BeyondEvil, Node is not required but the node variant was originally selected to attempt to apply to more users/projects. Truth be told, the AWS cli orb doesn't actually need an executor at all and I'd be open to removing it in a future major update.

Originally, when the first iteration of the orb was designed, it was thought it may be a good idea to include a Docker image (executor) within which the AWS CLI could run (meaning python would be present), but a large portion or majority of users are actually running NodeJS projects (lambdas and such). The thinking here was for the majority of AWS users we might be able to provide them with a convenient executor that would have a high chance of working for the user.

Of course, the tag for the python image can be changed, or a different image can be used.

Would love to hear any thoughts/opinions about the executor on this orb.

BeyondEvil commented 3 years ago

Hello @BeyondEvil, Node is not required but the node variant was originally selected to attempt to apply to more users/projects. Truth be told, the AWS cli orb doesn't actually need an executor at all and I'd be open to removing it in a future major update.

How would that work? You still need something (machine/docker) with python installed to be able to install the AWS CLI, right?

Originally, when the first iteration of the orb was designed, it was thought it may be a good idea to include a Docker image (executor) within which the AWS CLI could run (meaning python would be present), but a large portion or majority of users are actually running NodeJS projects (lambdas and such). The thinking here was for the majority of AWS users we might be able to provide them with a convenient executor that would have a high chance of working for the user.

Makes sense.

Of course, the tag for the python image can be changed, or a different image can be used.

True, I was just curious as to why the node-one was chosen as the default. 👍

Would love to hear any thoughts/opinions about the executor on this orb.

I prefer to keep things as simple and lean as possible providing as much flexibility as possible, and not force decisions on users (which I don't think the case is here).

KyleTryon commented 3 years ago

@BeyondEvil

How would that work? You still need something (machine/docker) with python installed to be able to install the AWS CLI, right?

AWS CLI V2 now handles all of this internally with venv so you no longer need a python environment if you are using the latest AWS CLI.