lazyaws

command module
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 10 Imported by: 0

README

lazyaws

A terminal UI for managing AWS resources — inspired by lazydocker, lazygit.

release go reference MIT license tests Docker Pulls


lazyaws demo


The aim of this project is to make it easier to navigate, observe and manage your infrastucture, whether in the wild or locally during development.

Why

The AWS CLI is powerful but slow for exploratory workflows. Finding a Lambda's env vars or inspecting an SQS queue can require multiple commands with long argument lists.

lazyaws puts all of that in a three-panel TUI you can navigate in seconds — no flags to remember, no context-switching to the browser console and waiting for static assets to load.

It pairs naturally with LocalStack-based development: run lazyaws -local or lazyaws -entrypoint-url=<aws control plane> to inspect your emulated AWS environment in real time, the same way you'd use lazydocker to inspect containers.

Install

Script (macOS / Linux — one-liner)

curl -fsSL https://raw.githubusercontent.com/bkneis/lazyaws/main/install.sh | bash

Detects your OS and architecture, downloads the latest release binary, verifies the SHA256 checksum, and installs to /usr/local/bin (or ~/.local/bin as a fallback).

macOS / Linux (Homebrew)

brew install bkneis/lazyaws/lazyaws

Linux packages

# Debian/Ubuntu
sudo dpkg -i lazyaws_*.deb     # download .deb from GitHub Releases

# RPM-based
sudo rpm -i lazyaws_*.rpm      # download .rpm from GitHub Releases

Windows

scoop bucket add lazyaws https://github.com/bkneis/scoop-lazyaws
scoop install lazyaws

Docker (all platforms)

alias lazyaws=$(docker run --rm -it \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_DEFAULT_REGION \
  bkneis2025/lazyaws)

For LocalStack, pass --network host -e AWS_ENDPOINT_URL=http://localhost:4566.

go install / binary

go install github.com/bkneis/lazyaws@latest

Or download a pre-built binary (Windows/macOS/Linux, amd64/arm64) from the releases page.

Usage

# Against your default AWS profile / region
lazyaws

# Against LocalStack (http://localhost:4566)
lazyaws -local

AWS credentials are loaded from the standard chain (AWS_* environment variables, ~/.aws/credentials, IAM instance role, etc.).

Cool Features

  • Cloudwatch Logs Viewer with multi-group streaming and JSON support
  • S3 Explorer with ability to view/edit text & json files and download items
  • DynamoDB Browser for viewing / inserting JSON
  • Completely Clickable TUI mouse support, no need to learn keyboard shortcuts
  • Actions Menu (x) for interactive commands: send SQS/SNS messages, invoke Lambda functions, create snapshots, and more
  • Copy and Paste Capability by switching mouse mode using (M)
  • Cross Resource Links — resource arns are clickable and underlined to jump to that resource
  • Connect to EC2 Instances via SSH or AWS SSM Session Manager directly from the list
  • Launch a DB Shell for RDS instances — infers psql or mysql connection string from instance details
  • Exec into ECS Containers via aws ecs execute-command
  • Fast grep like search across your infrastucture using /
  • Single binary ~28mb that works across Windows, Linux and Mac 32/64bit
  • Doesn't require the AWS CLI to be installed — built entirely on the Go AWS SDK using your local credentials

If you find this useful, consider giving it a ⭐ — it helps others discover the project.


Keybindings

Key Action
Tab / Shift+Tab Cycle focus between panels
j / k or / Navigate lists
[ / ] Previous / next detail tab
/ Search / filter current resource list
r Refresh current resource list
x Open actions menu for selected resource
R Switch AWS region
q Quit

Supported Services

Service Detail tabs Actions
S3 Overview, Objects, Policy, Content Upload, download, delete objects; create/delete buckets
Lambda Overview, Env vars, Triggers Invoke function, delete function
SNS Overview, Subscriptions Create/delete topic, subscribe, publish message
SQS Overview, Config, DLQ, Messages Create/delete queue, send message, purge
CloudFormation Overview, Resources, Outputs, Parameters, Events
IAM Roles Overview, Policies, Trust policy
IAM Policies Overview, Document
Secrets Manager Overview, Value, Versions Create/delete secret, update value
API Gateway (v1 + v2) Overview, Routes/Resources, Stages
Route 53 Overview, Records Create/delete zone, create/update/delete records
ACM Overview, Domains, Validation
DynamoDB Overview, Items, Indexes, Backups Create/delete table, put item, create backup
Kinesis Overview, Shards, Consumers, Records Create/delete stream, put record
KMS Overview, Policy, Aliases
Step Functions Overview, Definition, Executions
CloudWatch Alarms Overview, History
CloudWatch Logs Overview, Streams, Tail Create/delete log group, set retention
EventBridge Overview, Targets
EC2 Instances Overview, Network, Storage, Tags Start, stop, reboot, terminate; connect via SSH or SSM
EC2 VPCs Overview, Subnets, Route Tables
EC2 Security Groups Overview, Inbound Rules, Outbound Rules Delete security group
EC2 Volumes Overview, Snapshots
EC2 AMIs Overview, Block Devices
Elastic Load Balancers Overview, Listeners, Target Groups
Auto Scaling Groups Overview, Instances, Scaling Policies, Activities
RDS Overview, Connectivity, Config, Snapshots Start, stop, reboot, snapshot, delete; launch DB shell (psql/mysql)
ECS Overview, Services, Tasks Exec into container
SSM Parameter Store Overview, Value (decrypted), History

Configuration & Theming

lazyaws auto-detects your terminal color scheme (dark, light, or Warp). To customise the theme, create a config file at:

Platform Config file location
Linux / macOS ~/.config/lazyaws/config.yaml
Linux / macOS (XDG) $XDG_CONFIG_HOME/lazyaws/config.yaml
Windows %USERPROFILE%\.config\lazyaws\config.yaml

An annotated example config with all available options and preset themes is included in config.example.yaml.

# ~/.config/lazyaws/config.yaml
theme:
  focus_color: "#ff9900"       # AWS orange borders + selection highlight
  selection_text: "black"
  highlight_tag: "[#ff9900]"
  header_tag: "[#ff9900]"
  active_tab_tag: "[#ff9900]"
  inactive_tab_tag: "[gray]"
  link_tag: "[#ff9900::u]"

Color values accept named tcell colors ("aqua", "green", "blue", etc.) or hex strings ("#ff9900"). All fields are optional — omit any key to keep the auto-detected default.

Contributing

I'd welcome any contrubtions from the community, if anyone wants to suggest/implement new features or integrate AWS services then please read CONTRUBTING.md and submit a PR :)

License

MIT © bkneis

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
aws
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL