Skip to content

DevopsArtFactory/unic

unic

unic is a Go-based TUI (Terminal User Interface) tool for browsing and managing AWS resources in the terminal.

It manages authentication contexts (SSO or STS AssumeRole) via ~/.config/unic/config.yaml and provides drill-down exploration of AWS services registered in the catalog.

Tech Stack

  • Go (1.22+)
  • TUI: Bubbletea + Lipgloss + Bubbles
  • CLI: Cobra
  • AWS SDK: aws-sdk-go-v2
  • Config: gopkg.in/yaml.v3
  • Concurrency: goroutines + errgroup
  • Error handling: fmt.Errorf / errors

Installation & Build

git clone <repository-url>
go build -o unic ./cmd/unic

Usage

# Enter TUI mode
unic

# Specify profile/region
unic --profile my-profile
unic --region ap-northeast-2

# Initialize config file
unic init                      # Create default config
unic init --force              # Overwrite existing config

Configuration

~/.config/unic/config.yaml (created via unic init or auto-generated on first run)

# Simple format
default_profile: my-profile
default_region: ap-northeast-2
# Context-based format
current: dev-sso

contexts:
  - name: dev-sso
    profile: dev-sso
    region: ap-northeast-2

  - name: prod-admin
    profile: prod-admin
    region: us-east-1

Priority: CLI flags (--profile, --region) > context settings > config defaults > hardcoded defaults (us-east-1)

Currently Implemented Features

Service Feature Status
EC2 SSM Session Manager (connect to EC2 instances) ✅ Implemented
VPC VPC Browser (VPCs → subnets → available IPs) ✅ Implemented
RDS RDS Browser (list, start/stop, failover, Aurora cluster support) ✅ Implemented
Route53 ListHostedZones 🚧 Coming Soon
IAM ListUsers 🚧 Coming Soon

TUI Key Bindings

Key Action
j/k or / Navigate
Enter Select
Esc/q Go back
H Go to home (service list)
/ Filter (instances, IPs)
C Context switcher
s/x/f Start/Stop/Failover (RDS detail)
q (on service list) Quit

Documentation

License

This project is licensed under the terms in LICENSE.

Issue Bot

Comment on any issue to interact with @unic-bot:

Command Action
@unic-bot: assign me Assign the issue to yourself

Community Standards

Maintainers

  • Add maintainers here.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors