Skip to content

k2m30/a9s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

a9s - Terminal UI for AWS

Like k9s, but for your cloud.

CI Go Report Card Release License: GPL v3 Downloads codecov

a9s demo

Browse, inspect, and manage 62 AWS resource types from your terminal. a9s gives you a real-time, keyboard-driven interface to your AWS infrastructure -- no clicking through the console, no memorizing CLI flags.

Read-only by design. a9s never makes write calls to AWS. Safe to use in production. Write operations are on the roadmap only after the project has proven itself as a trusted tool (10k+ stars).

No credential storage. a9s never reads ~/.aws/credentials. Authentication is delegated entirely to the AWS SDK's credential chain.

No telemetry. a9s never phones home.

Try without AWS. Run a9s --demo to explore the full UI with synthetic data — no AWS account needed.

Features

  • 62 AWS resource types across 12 service categories
  • Real-time resource browsing with vim-style keyboard navigation
  • YAML detail view for any resource (full AWS API response)
  • Multi-profile and multi-region support
  • Categorized menu (Compute, Storage, Database, Network, Security, CI/CD, and more)
  • Column sorting by name, ID, or date
  • Filter/search within resource lists
  • Horizontal scrolling for wide tables
  • Clipboard support (copy resource IDs and YAML)
  • Tokyo Night Dark color theme
  • Child view drill-downs (Listeners, Log Streams, Invocations, Tasks, Events, and more)
  • 2,100+ unit tests

Installation

Homebrew (macOS and Linux)

brew install k2m30/a9s/a9s

Scoop (Windows)

scoop bucket add a9s https://github.com/k2m30/scoop-a9s.git
scoop install a9s

Go install

go install github.com/k2m30/a9s/v3/cmd/a9s@latest

Download binary

Download the latest release for your platform from GitHub Releases.

Available platforms:

  • macOS: Intel (amd64) and Apple Silicon (arm64)
  • Linux: amd64 and arm64
  • Windows: amd64 and arm64

Windows note: Downloaded binaries may trigger a Microsoft Defender SmartScreen warning because they are not code-signed. Click "More info" → "Run anyway" to proceed, or install via Scoop to avoid this. Windows support is new and has been verified via cross-compilation and CI only — the maintainer does not have a Windows machine. If you encounter any issues, please open an issue.

Docker

# Demo mode (no AWS credentials needed)
docker run --rm -it ghcr.io/k2m30/a9s:latest --demo

# Real AWS access
docker run --rm -it -v ~/.aws/config:/home/a9s/.aws/config:ro ghcr.io/k2m30/a9s:latest

Build from source

Requires Go 1.26+.

git clone https://github.com/k2m30/a9s.git
cd a9s
make build
./a9s

Quick Start

a9s uses the standard AWS credential chain. Any of these work:

  • Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
  • AWS config file (~/.aws/config) — a9s never reads ~/.aws/credentials
  • EC2 instance metadata / ECS task role / SSO
a9s                       # use default profile
a9s -p production         # use a specific profile
a9s -r eu-west-1          # override region
a9s --version             # print version

Supported AWS Services

Category Resource Types
Compute EC2 Instances, ECS Services, ECS Clusters, ECS Tasks, Lambda Functions, Auto Scaling Groups, Elastic Beanstalk
Containers EKS Clusters, EKS Node Groups
Networking Load Balancers, Target Groups, Security Groups, VPCs, Subnets, Route Tables, NAT Gateways, Internet Gateways, Elastic IPs, VPC Endpoints, Transit Gateways, Network Interfaces
Databases & Storage DB Instances, S3 Buckets, ElastiCache Redis, DB Clusters, DynamoDB Tables, OpenSearch Domains, Redshift Clusters, EFS File Systems, RDS Snapshots, DocDB Snapshots
Monitoring CloudWatch Alarms, CloudWatch Log Groups, CloudTrail Trails
Messaging SQS Queues, SNS Topics, SNS Subscriptions, EventBridge Rules, Kinesis Streams, MSK Clusters, Step Functions
Secrets & Config Secrets Manager, SSM Parameters, KMS Keys
DNS & CDN Route 53 Hosted Zones, CloudFront Distributions, ACM Certificates, API Gateways
Security & IAM IAM Roles, IAM Policies, IAM Users, IAM Groups, WAF Web ACLs
CI/CD CloudFormation Stacks, CodePipelines, CodeBuild Projects, ECR Repositories, CodeArtifact Repos
Data & Analytics Glue Jobs, Athena Workgroups
Backup Backup Plans, SES Identities

Key Bindings

Navigation

Key Action
j / Down Move down
k / Up Move up
g Go to top
G Go to bottom
Enter Open / select
Esc Back / close
h / Left Scroll left
l / Right Scroll right
PgUp / Ctrl+U Page up
PgDn / Ctrl+D Page down

Actions

Key Action
d Detail view
y YAML view
x Reveal (expand)
c Copy resource ID to clipboard
/ Filter
: Command mode
? Help
Ctrl+R Refresh
r Open Stack Resources (CFN Stacks)
w Toggle line wrap (in YAML view)
Tab Autocomplete (in command mode)

Sorting

Key Action
N Sort by name
I Sort by ID
A Sort by date

General

Key Action
q Quit
Ctrl+C Force quit

Child Views (Drill-Downs)

Press Enter on a resource to explore its nested children. Press Esc to go back.

Parent Child View Key Description
Lambda Functions Invocations Enter Recent invocations with status, duration, memory, cold start
Lambda Invocations Log Lines Enter Full log output for a specific invocation
S3 Buckets Objects Enter Browse bucket contents, drill into folders
Route 53 Zones DNS Records Enter View A, CNAME, MX, and other record types
Log Groups Log Streams Enter Streams sorted by most recent event
Log Streams Log Events Enter Color-coded log lines (ERROR=red, WARN=yellow)
Target Groups Target Health Enter Health status per target (healthy/unhealthy/draining)
ECS Services Service Events e Event timeline (steady state, placement failures, deployments)
ECS Services Tasks Enter Running and stopped tasks with status, health, stopped reason
ECS Services Container Logs L Application logs from CloudWatch
CFN Stacks Stack Events Enter Event timeline showing stack operation progress and status
CFN Stacks Stack Resources r Logical and physical resources in the stack with status
Auto Scaling Groups Scaling Activities Enter Scaling activity history with status, description, cause
CloudWatch Alarms Alarm History Enter State transitions, configuration updates, and action events
Load Balancers Listeners Enter Port, protocol, action, target, SSL policy, certificate

Commands

Press : to enter command mode, then type a command:

Command Action
:q / :quit Exit a9s
:ctx / :profile Switch AWS profile
:region Switch AWS region
:help Show help
:<resource> Jump to resource type (e.g., :ec2, :s3, :lambda)

All resource short names work as commands.

Configuration

a9s stores view configuration in ~/.a9s/views.yaml (optional — sensible defaults are built-in). AWS profiles and regions are read from ~/.aws/config. a9s never reads ~/.aws/credentials — authentication is delegated to the AWS SDK credential chain.

AWS Permissions

a9s uses read-only AWS API calls exclusively. The following managed policies provide sufficient access:

  • ReadOnlyAccess (broad read-only access to all services)
  • Or individual service policies like AmazonEC2ReadOnlyAccess, AmazonS3ReadOnlyAccess, etc.

a9s will gracefully handle permission errors -- resources you don't have access to will show an error message instead of crashing.

Roadmap

See ROADMAP.md for planned features and direction.

Contributing

Contributions are welcome. See CONTRIBUTING.md for development setup and guidelines.

Security

a9s is read-only by design and never makes mutating AWS API calls. See SECURITY.md for our security policy and how to report vulnerabilities.

License

GPL-3.0-or-later. See LICENSE.

Acknowledgments

About

Terminal UI AWS Resource Manager — browse, inspect, and manage 60+ AWS resource types

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages