AWS के लिए Terminal UI (taws) – टर्मिनल-आधारित AWS resource viewer और manager
(github.com/huseyinbabal)- taws एक Rust-आधारित UI टूल है, जो टर्मिनल वातावरण में AWS resources को browse और manage करने देता है, और AWS infrastructure को real time में observe और control किया जा सकता है
- यह 94 से अधिक resource types और 60 से अधिक AWS services को support करता है, और profile तथा region switching, Vim-style keyboard controls, auto-complete feature प्रदान करता है
- यह EC2 instances के start·stop·terminate, resources की JSON/YAML detailed view, filtering और real-time refresh जैसी सुविधाओं को support करता है
- macOS, Linux, Windows पर Homebrew, Cargo, binary download जैसी कई installation methods उपलब्ध हैं, और AWS credentials तथा IAM permissions सेट करना आवश्यक है
- k9s से प्रेरित और Ratatui library पर बना यह open source project, AWS CLI users को visual और intuitive management experience देता है
taws परिचय
- taws एक टर्मिनल-आधारित AWS resource viewer और manager है, जिसे AWS infrastructure को आसानी से browse और manage करने के लिए design किया गया है
- यह AWS resource changes को लगातार monitor करता है और observed resources पर commands चलाने की सुविधा देता है
- इस project का उद्देश्य AWS infrastructure management को सरल और अधिक efficient बनाना है
- यह MIT license के तहत उपलब्ध है और Rust language में लिखा गया है
मुख्य फीचर्स
- multi-profile और region support की मदद से अलग-अलग AWS accounts और regions के बीच आसानी से switch किया जा सकता है
- 94 से अधिक resource types और 60 से अधिक services की browsing और management का समर्थन
- real-time refresh feature के जरिए एक key press से resource status refresh किया जा सकता है
- Vim-जैसे keyboard controls के जरिए तेज navigation और command execution
- EC2 instance control (start, stop, terminate) feature built-in है
- JSON/YAML detailed view, name·property-based filtering, fuzzy matching auto-completion जैसी सुविधाएँ उपलब्ध हैं
इंस्टॉलेशन के तरीके
- Homebrew(macOS/Linux) :
brew install huseyinbabal/tap/taws - prebuilt binary download: macOS, Linux, Windows के लिए architecture-specific packages उपलब्ध
- Cargo installation:
cargo install taws - source build: Rust 1.70 या उससे ऊपर, C compiler और linker की आवश्यकता
- platform-specific development tools install commands भी दिए गए हैं (उदाहरण:
xcode-select --install,sudo apt install build-essential -y)
- platform-specific development tools install commands भी दिए गए हैं (उदाहरण:
रन और सेटअप
- AWS credentials को
aws configure, environment variables, IAM roles,~/.aws/credentialsfile जैसी standard locations से पहचाना जाता है - IAM permissions में कम से कम
Describe*,List*permissions आवश्यक हैं - run examples:
- default profile के साथ run:
taws - specific profile चुनना:
taws --profile production - specific region चुनना:
taws --region us-west-2 - debug logs enable करना:
taws --log-level debug
- default profile के साथ run:
- log file paths:
- Linux:
~/.config/taws/taws.log - macOS:
~/Library/Application Support/taws/taws.log - Windows:
%APPDATA%\taws\taws.log
- Linux:
key bindings
- navigation:
j/kया arrow keys से move,Ctrl-u/dसे page move - view switching:
:से resource selector खोलें,Enterयाdसे detailed view - actions:
rrefresh,/filter,pprofile switch,Rregion switch,qquit - EC2 control:
sstart,Sstop,Tterminate
supported services
- 30 core AWS services का support (कुल उपयोग के 95% से अधिक को cover करता है)
- Compute: EC2, Lambda, ECS, EKS, Auto Scaling
- Storage: S3
- Database: RDS, DynamoDB, ElastiCache
- Networking: VPC, Route 53, CloudFront, API Gateway, ELB
- Security: IAM, Secrets Manager, KMS, ACM, Cognito
- Management: CloudFormation, CloudWatch Logs, CloudTrail, SSM, STS
- Messaging: SQS, SNS, EventBridge
- Containers: ECR
- DevOps: CodePipeline, CodeBuild
- Analytics: Athena
environment variables सेटिंग
AWS_PROFILE: default profileAWS_REGION: default regionAWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN: authentication information
known issues
- कुछ resources default read-only policy के साथ accessible नहीं हो सकते
- pagination के कारण loading के दौरान resources की संख्या बदल सकती है
- IAM, Route53, CloudFront जैसी कुछ global services हमेशा us-east-1 region का उपयोग करती हैं
contribution और तकनीकी आधार
- contributions का स्वागत है, लेकिन नई service जोड़ने से पहले GitHub Discussions में proposal देना आवश्यक है
- यह k9s से प्रेरित है, और Ratatui (Rust TUI library) तथा aws-sigv4 (AWS SDK for Rust) का उपयोग करता है
- AWS community के लिए open source project के रूप में, इसे 622 Star और 15 Fork मिले हैं
लाइसेंस
- MIT License के तहत वितरित
- source और license files GitHub repository में देखी जा सकती हैं
1 टिप्पणियां
Hacker News की राय
मुझे TUI की खास आकर्षण समझ नहीं आती
CLI का फायदा scriptability और composability है, लेकिन TUI बस browser UI का low-resolution version जैसा लगता है
GUI में इस तरह के expressive keyboard interface कम ही दिखते हैं
यह ठीक से चला नहीं
AWS infrastructure के ऊपर middleware layer जोड़ना चिंता की बात है। कोई गलत command या bug गंभीर नतीजे ला सकता है
खासकर AWS में stateful databases और production workloads बहुत होते हैं, इसलिए recovery मुश्किल होती है
CLI experience बेहतर बनाने की कोशिश अच्छी है, लेकिन व्यक्तिगत रूप से मैं read-only mode में भी हिचकूँगा
AWS CLI या console कम से कम failure point एक कम कर देते हैं
यही बात AWS CLI या console पर भी लागू होती है।
अगर changes को IaC से manage किया जाए, तो resources को visual तरीके से browse करने वाला tool उपयोगी है। AWS console बहुत असुविधाजनक है
एक और layer जोड़ना जोखिम बढ़ाता है
k9s की तरह अगर इसे सिर्फ read-only permissions के साथ इस्तेमाल किया जाए, तो ठीक लग सकता है
menu bar में "Price of Current Changes" जैसा कोई item होना चाहिए
ताकि तुरंत दिखे कि change की कीमत 0.01 dollar है या 10,001 dollar
कोड में
// TODO: Handle credential_source, role_arn, source_profile, sso_*comment हैयानी यह SSO या multi-account login को support नहीं करता, और
AWS_ACCESS_KEY_IDतथाAWS_SECRET_ACCESS_KEYसीधे इस्तेमाल करने पड़ते हैंproduction environment में यह security risk बहुत बड़ा है, इसलिए मुझे नहीं लगता कि इसे व्यावहारिक रूप से इस्तेमाल किया जा सकता है
आजकल लगता है कि 15-line shell script किसी तरह बढ़कर 50k-line bun CLI या TUI app बन जाती है
इसे existing CLI का replacement नहीं, बल्कि complement समझना चाहिए
अगर आपकी organization में कई AWS accounts हैं, तो aws-sso-util जैसे tool से profiles पहले से configure करके account switching बहुत तेज़ हो सकती है
शीर्षक देखकर पहले मुझे लगा कि इसका मतलब है कि “AWS UI terminal-based हो गया है”, और मैं एक पल के लिए उत्साहित हो गया था
शायद यह बेवकूफी भरा सवाल हो, लेकिन मैं जानना चाहता हूँ कि light background terminal में भी TUI ठीक दिखता है या नहीं
dark mode उल्टा आँखों की थकान बढ़ाता है
अफसोस, मेरे light background terminal में app launch होते ही crash हो गया, इसलिए test नहीं कर पाया
शुरू करते ही crash हो गया। इस हालत में इसका viral होना मुश्किल है
काश ज़्यादा TUI designers ने Hercules जैसे mainframe-era interfaces का अनुभव किया होता
उस दौर की UI design philosophy से बहुत कुछ सीखा जा सकता है