High-performance CLI utilities to extend and simplify AWS workflows
A collection of high-performance, standalone CLI utilities designed to extend and simplify your daily AWS workflows. These tools bridge the gap between complex aws cli commands and common developer tasks like MFA authentication, role assumption, ECR management, and identity verification.
This suite adds specialized commands to your toolkit (with built-in shorthand aliases!):
whoami(wi): Quickly identifies the current IAM identity, account ID, and region.mfa: Streamlines the generation of temporary session tokens using a multi-factor authentication device.assume-role(ar): Simplifies switching between AWS accounts and IAM roles.show-creds(sc): View your active AWS credentials (with options to export or reveal secrets).configure(conf): Interactively configure AWS credentials and settings.myip: Instantly retrieves your current public IP address (crucial for updating Security Group ingress rules).verify(ver): Validates your current credentials and connection to ensure your environment is cloud-ready.ecr: A suite of subcommands to generate Docker/Helm login commands and manage repositories.upgrade(up): Seamlessly update the CLI to the latest version.
awscli-addons
βββ Dockerfile # Container definition for consistent environments
βββ awscli_addons/ # Main Python source package
β βββ cli.py # Application entry point & command routing
β βββ commands/ # Logic for individual CLI subcommands
β βββ utils/ # Internal helper modules
β βββ aws_config.py # shared logic for parsing ~/.aws files
βββ docs/ # Detailed documentation suite
β βββ CONFIGURATION.md # Guide for AWS profiles & aliases
β βββ DEPLOYMENT.md # Binary compilation & release info
β βββ DEVELOPMENT.md # Setup guide for contributors
β βββ KUBERNETES.md # Pod/CronJob & IRSA usage (Recommended)
β βββ OVERVIEW.md # Technical architecture deep-dive
β βββ TODO.md # Project roadmap & pending tasks
βββ pyproject.toml # Modern Python build config & dependencies
βββ tools/ # Automation and distribution scripts
βββ build.sh # Script to compile standalone binaries
βββ installer.sh # One-line installation & alias setup scriptUse our hosted installer to automatically detect your OS and Architecture.
| Mode | Command |
|---|---|
| Auto | curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh | bash |
| Force Binary | curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh | BINARY_CMD=true bash |
| Force Python | curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh | PYTHON_ONLY=true bash |
Prerequisites: git and python 3.11+ (for Python mode).
Install a Specific Version:
curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh | VERSION=v1.1.2 bashDownload the appropriate binary for your platform from the Releases page:
# Example for Linux AMD64
wget https://github.com/MaksymLeus/awscli-addons/releases/download/${VERSION}/awscli-addons-linux-amd64
chmod +x awscli-addons-linux-amd64
sudo mv awscli-addons-linux-amd64 /usr/local/bin/awscli-addons
Once installed, use the commands directly or via the native AWS CLI integration.
# Check your current identity using the alias 'wi'
awscli-addons wi
# Generate MFA session for a specific profile
awscli-addons mfa --profile default --mfa-code 123456
# View AWS credentials for the current session
awscli-addons sc --reveal
# Generate ECR Docker login command
awscli-addons ecr login --profile my-profileThe installer automatically configures an AWS CLI alias for you. If you install the official AWS CLI after these addons, the integration will be ready to use.
It adds a persistent alias to your ~/.aws/cli/alias configuration, mapping aws addons directly to your awscli-addons binary.
To build the project from source or add new commands:
-
Install dependencies:
pip install . -
Add a command:
Create a new
.pyfile inawscli_addons/commands/and register it incli.py. -
Build standalone binaries:
./tools/build.sh
Run the tools inside a container:
# Interactive identity check
docker run --rm -v ~/.aws:/root/.aws awscli-addons whoami
# Drop into a shell inside the container
docker run --rm -it --entrypoint bash awscli-addonsUse the addons for debugging or automation inside your cluster.
# Bypass entrypoint to reach bash
kubectl run aws-debug -it --rm --image=your-repo/awscli-addons:latest --command -- /bin/bash
# Run identity check directly
kubectl run aws-check --rm -it --image=your-repo/awscli-addons:latest -- wiFor more detailed information, please refer to the docs/ directory:
| Document | Purpose |
|---|---|
OVERVIEW.md |
Architecture and command reference. |
CONFIGURATION.md |
Tool setup and AWS profile management. |
DEPLOYMENT.md |
Binary compilation and distribution. |
DEVELOPMENT.md |
Guide for contributing and building from source. |
TODO.md |
Roadmap & planned improvements. |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull request
See docs/DEVELOPMENT.md for development setup.
MIT License β see LICENSE.md for details.

