- taws, terminal ortamında AWS kaynaklarını keşfetmenizi ve yönetmenizi sağlayan Rust tabanlı bir UI aracıdır; AWS altyapısını gerçek zamanlı olarak gözlemleyip kontrol etmenize olanak tanır
- 94'ten fazla kaynak türü ve 60'tan fazla AWS hizmetini destekler; profil ve bölge değiştirme, Vim tarzı klavye kullanımı ve otomatik tamamlama sunar
- EC2 instance'larını başlatma·durdurma·sonlandırma, kaynakların JSON/YAML ayrıntılarını görüntüleme ile filtreleme ve gerçek zamanlı yenileme özelliklerini destekler
- macOS, Linux ve Windows üzerinde Homebrew, Cargo, ikili dosya indirme gibi çeşitli kurulum yöntemleri sunar; AWS kimlik bilgileri ve IAM izinlerinin ayarlanması gerekir
- k9s'den ilham alınarak Ratatui kütüphanesiyle geliştirilmiş açık kaynaklı bir projedir ve AWS CLI kullanıcılarına görsel ve sezgisel bir yönetim deneyimi sunar
taws genel bakış
- taws, AWS altyapısını kolayca keşfedip yönetebilmeniz için tasarlanmış, terminal tabanlı bir AWS kaynak görüntüleyicisi ve yöneticisidir
- AWS kaynaklarındaki değişiklikleri sürekli izler ve gözlemlenen kaynaklar üzerinde komut çalıştırma imkanı sunar
- Projenin amacı AWS altyapısı yönetimini basitleştirmek ve verimli hale getirmektir
- MIT lisansı ile yayımlanmıştır ve Rust diliyle yazılmıştır
başlıca özellikler
- Çoklu profil ve bölge desteği sayesinde farklı AWS hesapları ve bölgeleri arasında kolayca geçiş yapılabilir
- 94'ten fazla kaynak türü ile 60'tan fazla hizmeti keşfetme ve yönetme desteği
- Gerçek zamanlı yenileme özelliği ile tek tuşla kaynak durumunu tazeleyebilme
- Vim benzeri klavye kullanımı ile hızlı gezinme ve komut çalıştırma
- Yerleşik EC2 instance kontrolü (başlatma, durdurma, sonlandırma)
- JSON/YAML ayrıntı görüntüleme, ad ve özellik tabanlı filtreleme ve bulanık eşleme ile otomatik tamamlama sunar
kurulum yöntemleri
- Homebrew (macOS/Linux) :
brew install huseyinbabal/tap/taws
- Önceden derlenmiş ikili dosya indirme: macOS, Linux ve Windows için mimariye özel paketler sunulur
- Cargo ile kurulum:
cargo install taws
- Kaynak koddan derleme: Rust 1.70 veya üzeri, C derleyicisi ve bağlayıcı gerekir
- Platforma özel geliştirme araçları kurulum komutları sunulur (ör.
xcode-select --install, sudo apt install build-essential -y)
çalıştırma ve yapılandırma
- AWS kimlik bilgileri,
aws configure, ortam değişkenleri, IAM rolleri, ~/.aws/credentials dosyası gibi standart yollardan algılanır
- IAM izinleri için en az
Describe*, List* yetkileri gerekir
- Çalıştırma örnekleri:
- Varsayılan profille çalıştırma:
taws
- Belirli bir profil belirtme:
taws --profile production
- Belirli bir bölge belirtme:
taws --region us-west-2
- Hata ayıklama loglarını etkinleştirme:
taws --log-level debug
- Log dosyası yolları:
- Linux:
~/.config/taws/taws.log
- macOS:
~/Library/Application Support/taws/taws.log
- Windows:
%APPDATA%\taws\taws.log
tuş atamaları
- Gezinme:
j/k veya ok tuşları ile hareket, Ctrl-u/d ile sayfa kaydırma
- Görünüm değiştirme:
: ile kaynak seçiciyi açma, Enter veya d ile ayrıntı görüntüleme
- İşlemler:
r yenileme, / filtre, p profil değiştirme, R bölge değiştirme, q çıkış
- EC2 kontrolü:
s başlatma, S durdurma, T sonlandırma
desteklenen hizmetler
- 30 temel AWS hizmeti desteği (toplam kullanımın %95'inden fazlasını kapsar)
- 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
ortam değişkeni ayarları
AWS_PROFILE: varsayılan profil
AWS_REGION: varsayılan bölge
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN: kimlik doğrulama bilgileri
bilinen sorunlar
- Bazı kaynaklara varsayılan salt okunur politika ile erişilemeyebilir
- Sayfalama nedeniyle yükleme sırasında kaynak sayısı değişebilir
- IAM, Route53, CloudFront gibi bazı global hizmetler her zaman us-east-1 bölgesini kullanır
katkı ve teknik temel
- Katkılar memnuniyetle karşılanır; yeni bir hizmet eklemeden önce GitHub Discussions üzerinde öneri sunulması gerekir
- k9s'den ilham almıştır; Ratatui (Rust TUI kütüphanesi) ve aws-sigv4 (AWS SDK for Rust) kullanır
- AWS topluluğu için açık kaynaklı bir projedir ve 622 Star, 15 Fork kaydına sahiptir
lisans
- MIT License ile dağıtılır
- Kaynak kodu ve lisans dosyası GitHub deposunda görülebilir
1 yorum
Hacker News yorumları
TUI’nin cazibesinin ne olduğunu pek anlayamıyorum
CLI’nin avantajı betiklenebilirlik ve birleştirilebilirlik, ama TUI bana sadece tarayıcı arayüzünün düşük çözünürlüklü bir sürümü gibi geliyor
GUI’de bu kadar ifade gücü yüksek klavye arayüzleri pek görünmüyor
Bende düzgün çalışmadı
AWS altyapısının üstüne bir ara katman eklemek endişe verici. Hatalı komutlar ya da bug’lar ciddi sonuçlar doğurabilir
Özellikle AWS’de durum tutan veritabanları ve production iş yükleri çok olduğu için geri dönüş zor
CLI deneyimini iyileştirme çabası güzel ama kişisel olarak salt okunur modda bile tereddüt ederim
En azından AWS CLI veya konsol bir arıza noktasını azaltıyor
Bu AWS CLI veya konsol için de geçerli.
Değişiklikleri IaC ile yönetiyorsanız, kaynakları görsel olarak gezebileceğiniz bir araç faydalı olur. AWS konsolu fazla hantal
Bir katman daha eklemek risk yükünü artırıyor
k9s gibi sadece salt okunur izinlerle kullanılacaksa mantıklı olabilir
Menü çubuğunda “Mevcut Değişikliklerin Maliyeti (Price of Current Changes)” gibi bir öğe olsa güzel olurdu
Değişikliğin 0,01 dolar mı yoksa 10.001 dolar mı olduğunu anında görebilsek
Kodda
// TODO: Handle credential_source, role_arn, source_profile, sso_*yorumu varYani SSO veya çoklu hesap oturum açma desteklenmiyor ve
AWS_ACCESS_KEY_IDileAWS_SECRET_ACCESS_KEYdeğerlerinin doğrudan kullanılması gerekiyorProduction ortamında bu güvenlik açısından riskli olduğu için gerçek kullanım zor görünüyor
Artık 15 satırlık bir kabuk betiğinin bir anda 50k satırlık bir bun CLI veya TUI uygulamasına dönüştüğü hissi var
Mevcut CLI’yi değiştirmekten ziyade onu tamamlayan bir araç olarak görmek lazım
Birden fazla AWS hesabı olan organizasyonlarda, aws-sso-util gibi araçlarla profilleri önceden yapılandırmak hesap geçişini çok hızlandırır
Başlığı ilk gördüğümde, AWS arayüzünün terminal tabanlı hale geldiği anlamına geldiğini sanıp kısa süre heyecanlandım
Aptalca bir soru olabilir ama açık arka planlı terminallerde TUI’nin iyi görünüp görünmediğini merak ediyorum
Karanlık mod ise aksine göz yorgunluğuna neden oluyor
Ne yazık ki açık arka planlı terminalimde uygulama açılır açılmaz çöktüğü için test edemedim
İlk çalıştırmada hemen çöktü. Bu halde yayılıp ilgi görmesi zor
Keşke daha fazla TUI tasarımcısı Hercules gibi ana bilgisayar dönemi arayüzlerini deneyimlemiş olsaydı
O dönemin arayüz kurgusu felsefesinde öğrenilecek çok şey var