A simple AWS CLI tool built with Go and Cobra that provides easy access to AWS services like ECS, CloudWatch Logs, and CodePipeline.
- π Interactive CLI - Uses interactive prompts for easy navigation
- π¨ Colorized Output - Beautiful colored output for better readability
- π³ ECS Support - List and connect to ECS containers
- π CloudWatch Logs - Query and view CloudWatch logs
- π CodePipeline - Monitor pipeline status and details
- π AWS Profile Support - Works with AWS profiles and granted tool
- AWS CLI configured
- granted (optional, for profile management)
For macOS and Linux:
curl -fsSL https://raw.githubusercontent.com/manudiv16/eaws/main/install.sh | bashThis script will:
- Detect your OS and architecture
- Download the latest release
- Install to
/usr/local/bin - Verify the installation
# Add the tap
brew tap manudiv16/eaws
# Install
brew install eaws
# Update
brew upgrade eaws- Download the binary from the releases page
- Extract (if needed) and move to your PATH:
# Example for Linux tar -xzf eaws-linux-amd64.tar.gz sudo mv eaws-linux-amd64 /usr/local/bin/eaws chmod +x /usr/local/bin/eaws
# Clone the repository
git clone https://github.com/manudiv16/eaws.git
cd eaws
# Build and install
make install-local
# Or for development (creates symlink)
make install-local-dev# Using the uninstall script
curl -fsSL https://raw.githubusercontent.com/manudiv16/eaws/main/uninstall.sh | bash
# Or manually
sudo rm /usr/local/bin/eaws
# Or with Homebrew
brew uninstall eaws# Show help
eaws --help
# Use with specific AWS profile
eaws --profile my-profile [command]
# Enable verbose output
eaws --verbose [command]# List all containers in clusters
eaws container list
# or
eaws c l
# Connect to a container
eaws container connect
# or
eaws c c# Query logs using CloudWatch Insights
eaws logs query
# or
eaws l q
# View log streams
eaws logs view
# or
eaws l v# Show pipeline status
eaws pipeline
# Show detailed pipeline information
eaws pipeline --debug
# or
eaws p -dThe tool supports AWS profiles in several ways:
- Command line flag:
--profile my-profile - Environment variable:
AWS_PROFILE=my-profile - Granted tool: If available, will use
assumecommand
AWS_PROFILE: Set the AWS profile to useNO_COLOR: Disable colored output
$ eaws container list
β Selected cluster: my-cluster
Services in cluster:
β’ web-service
β’ api-service
β’ worker-service$ eaws container connect
β Selected cluster: my-cluster
β Selected service: web-service
β Using task: arn:aws:ecs:...
β Container: web-app
β EC2 Instance: i-1234567890abcdef0
β Starting session with command: sudo docker exec -ti abc123 sh$ eaws pipeline
β Selected pipeline: my-app-pipeline
Pipeline Status Summary:
Source - Succeeded
Source - Succeeded 2024-01-15T10:30:00Z
Build - InProgress
Build - InProgress 2024-01-15T10:35:00Z
Deploy - NotStarted
Deploy - NotStartedThis Go version provides the same functionality as the original bash script with these improvements:
- Better Error Handling: Proper error messages and handling
- Interactive Prompts: Replaces
fzfwith built-in prompt library - Cross-platform: Works on macOS, Linux, and Windows
- No External Dependencies: No need for
jq,fzf, or other tools - Faster Execution: Compiled binary vs interpreted script
- Better AWS Integration: Native AWS SDK instead of CLI calls
- Cobra - CLI framework
- AWS SDK for Go v2 - AWS integration
- promptui - Interactive prompts
- color - Colored output
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.