{"id":19964359,"url":"https://github.com/bu-ist/aws-tools","last_synced_at":"2026-04-13T17:06:14.050Z","repository":{"id":48059503,"uuid":"179354774","full_name":"bu-ist/aws-tools","owner":"bu-ist","description":"Tool allowing to run AWS CLI commands","archived":false,"fork":false,"pushed_at":"2021-08-09T13:32:48.000Z","size":47,"stargazers_count":0,"open_issues_count":2,"forks_count":3,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-01-12T08:24:30.702Z","etag":null,"topics":["aws","docker","shib-auth","tool"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/bostonuniversity/aws-tools","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bu-ist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-03T19:17:31.000Z","updated_at":"2021-08-09T13:32:52.000Z","dependencies_parsed_at":"2022-08-12T17:40:45.730Z","dependency_job_id":null,"html_url":"https://github.com/bu-ist/aws-tools","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bu-ist%2Faws-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bu-ist%2Faws-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bu-ist%2Faws-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bu-ist%2Faws-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bu-ist","download_url":"https://codeload.github.com/bu-ist/aws-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241396776,"owners_count":19956408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","docker","shib-auth","tool"],"created_at":"2024-11-13T02:23:06.120Z","updated_at":"2025-11-24T20:05:53.427Z","avatar_url":"https://github.com/bu-ist.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS CLI Tools\n\nA docker image for running AWS CLI commands.\n\nIt could be used in two ways:\n\n1. You prefer to use your own version of AWS CLI but need to perform\n  Shibboleth authentication to your account\n\n1. You want to enjoy all available [AWS-related tools](#includes) by opening\n  a bash session inside the container\n\n## Usage: CLI for accounts with Shibboleth authentication\n\nYou can use this image to access Shibboleth-protected accounts.\nTo create a temporary session, just run `shib-auth` inside the container:\n\n```bash\ndocker run --rm -it --volume \"$HOME/.aws:/root/.aws\" bostonuniversity/aws-tools shib-auth\n```\n\nThanks to the `--volume \"$HOME/.aws:/root/.aws\"` piece, the security token generated\nas the result of this command will be available at `~/.aws/credentials` so you'll be\nable to use AWS CLI commands authenticated as the role you've chosen.\n\nIt is suggested to wrap the command above as an alias:\n\n```bash\necho \"alias awslogin='docker run --rm -it --volume \\\"$HOME/.aws:/root/.aws\\\" bostonuniversity/aws-tools shib-auth'\" \u003e\u003e ~/.bashrc\n# Source the file or re-login to your host\n```\n\nThis session will only be available for a few hours but you can alway run that\ncommand again to create a new one.\n\nNote that this container will attempt to use Duo 2FA authentication but it's\nbeen only tested for the `push` method (both manual and automated).\n\nYou can modify these environment variables to fine-tune for your own case:\n\nYou can also put the credentials into a non-default profile by adding the profile name to\nthe end of the command line:\n\n```bash\ndocker run --rm -it --volume \"$HOME/.aws:/root/.aws\" bostonuniversity/aws-tools shib-auth security\n```\n\nor the following if you made the above alias:\n\n```bash\nawslogin security\n```\n\nVariable name        | Default value\n---------------------|------------------------------\nAWS_REGION           | `us-east-1`\nAWS_OUTPUT_FORMAT    | `json`\nAWS_LOGIN_URL        | `https://www.bu.edu/awslogin`\n\n## Usage: Bash Session\n\n### Bash\n\n- Open aws-shell with default aws profile:\n\n  ```bash\n  docker run --rm -it \\\n    --volume \"$HOME/.aws:/root/.aws\" \\\n    --volume \"$(pwd):/code\" \\\n    bostonuniversity/aws-tools\n  ```\n\n- Open bash with a specific aws profile:\n\n  ```bash\n  docker run --rm -it \\\n    --volume \"$HOME/.aws:/root/.aws\" \\\n    --volume \"$(pwd):/code\" \\\n    -e AWS_PROFILE=\u003caws_profile\u003e \\\n    bostonuniversity/aws-tools /bin/bash\n  ```\n\n- Persist the the shell history and other things across runs:\n\n  ```bash\n  docker run --rm -it \\\n    --volume aws-tools:/root \\\n    --volume \"$HOME/.aws:/root/.aws\" \\\n    --volume \"$(pwd):/code\" \\\n    bostonuniversity/aws-tools /bin/bash\n  ```\n\n### Windows CMD\n\nIn Windows, the syntax is a little bit different, for example:\n\n```cmd\ndocker run --rm -it ^\n--volume %cd%:/code ^\n--volume C:\\Some\\Temporary\\Directory:/root/.aws ^\n--volume aws-tools:/root ^\nbostonuniversity/aws-tools /bin/bash\n```\n\n### PowerShell\n\n```powershell\ndocker run --rm -it --volume ${PWD}:/code --volume C:\\Some\\Temporary\\Directory:/root/.aws --volume aws-tools:/root bostonuniversity/aws-tools /bin/bash\n```\n\n## Includes\n\n### AWS\n\n- `aws-cli`\n- `aws-shell`\n- `ecs-cli`\n\n### Other\n\n- `bash`\n- `less`\n- `curl`\n- `git`\n- `jq`\n- `groff`\n- `py-pip`\n- `python`\n- `python3`\n- `nodejs`\n- `npm`\n- `chromium`\n\n## Development\n\nTo troubleshoot or add new features to this image, use `docker-compose`.\n\nThe first step is to build the image locally:\n\n```bash\ndocker-compose up --build --force-recreate\n```\n\nThen, execute bash session in the container:\n\n```bash\ndocker-compose exec aws bash\n```\n\n## Multi-architecture builds\n\nThis assumes that you have enabled multi-archecture builds with buildx.  If not then\nsee various sources on how to set that up such as:\n\nhttps://medium.com/@artur.klauser/building-multi-architecture-docker-images-with-buildx-27d80f7e2408\n\nOnce we have a buildx builder we can build and push images to DockerHub by:\n\n```bash\n$ docker buildx build -t \"org/aws-tools:latest\" --platform linux/amd64,linux/arm64 --push .\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbu-ist%2Faws-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbu-ist%2Faws-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbu-ist%2Faws-tools/lists"}