- taws est un outil d’interface utilisateur en Rust qui permet d’explorer et d’administrer des ressources AWS depuis un terminal, avec observation et contrôle en temps réel de l’infrastructure AWS
- Il prend en charge plus de 94 types de ressources et plus de 60 services AWS, avec changement de profil et de région, navigation clavier de style Vim et autocomplétion
- Il permet le démarrage, l’arrêt et la suppression d’instances EC2, ainsi que l’affichage détaillé en JSON/YAML, le filtrage et l’actualisation en temps réel
- Il propose plusieurs méthodes d’installation sur macOS, Linux et Windows, notamment via Homebrew, Cargo et téléchargement de binaires, et nécessite une configuration des identifiants AWS et des autorisations IAM
- Projet open source inspiré de k9s et construit avec la bibliothèque Ratatui, il offre aux utilisateurs d’AWS CLI une expérience d’administration visuelle et intuitive
Présentation de taws
- taws est un visualiseur et gestionnaire de ressources AWS en terminal, conçu pour faciliter l’exploration et l’administration de l’infrastructure AWS
- Il permet de surveiller en continu les changements de ressources AWS et d’exécuter des commandes sur les ressources observées
- L’objectif du projet est de simplifier et rendre plus efficace la gestion de l’infrastructure AWS
- Le projet est publié sous licence MIT et écrit en Rust
Fonctionnalités principales
- La prise en charge de plusieurs profils et régions permet de basculer facilement entre différents comptes AWS et régions
- Prise en charge de l’exploration et de la gestion de plus de 94 types de ressources et plus de 60 services
- La fonction d’actualisation en temps réel permet de rafraîchir l’état des ressources par simple pression d’une touche
- Navigation clavier de type Vim pour une exploration rapide et l’exécution de commandes
- Fonction intégrée de contrôle des instances EC2 (démarrage, arrêt, suppression)
- Affichage détaillé en JSON/YAML, filtrage par nom et attributs et autocomplétion avec fuzzy matching
Installation
- Homebrew (macOS/Linux) :
brew install huseyinbabal/tap/taws
- Téléchargement de binaires précompilés : paquets fournis selon l’architecture pour macOS, Linux et Windows
- Installation via Cargo :
cargo install taws
- Compilation depuis les sources : Rust 1.70 ou version ultérieure, compilateur C et éditeur de liens requis
- Des commandes d’installation des outils de développement sont fournies selon la plateforme (ex. :
xcode-select --install, sudo apt install build-essential -y)
Exécution et configuration
- Les identifiants AWS sont reconnus depuis les emplacements standard, comme
aws configure, les variables d’environnement, les rôles IAM ou le fichier ~/.aws/credentials
- Les autorisations IAM requises incluent au minimum
Describe* et List*
- Exemples d’exécution :
- Exécution avec le profil par défaut :
taws
- Spécifier un profil :
taws --profile production
- Spécifier une région :
taws --region us-west-2
- Activer les logs de débogage :
taws --log-level debug
- Chemin du fichier de logs :
- Linux :
~/.config/taws/taws.log
- macOS :
~/Library/Application Support/taws/taws.log
- Windows :
%APPDATA%\taws\taws.log
Raccourcis clavier
- Navigation : déplacement avec
j/k ou les touches fléchées, changement de page avec Ctrl-u/d
- Changement de vue : ouvrir le sélecteur de ressources avec
:, afficher les détails avec Enter ou d
- Actions :
r rafraîchir, / filtrer, p changer de profil, R changer de région, q quitter
- Contrôle EC2 :
s démarrer, S arrêter, T supprimer
Services pris en charge
- 30 services AWS essentiels pris en charge (couvrant plus de 95 % des usages courants)
- 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
Variables d’environnement
AWS_PROFILE : profil par défaut
AWS_REGION : région par défaut
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN : informations d’authentification
Problèmes connus
- Certaines ressources peuvent être inaccessibles avec la politique par défaut en lecture seule
- Le nombre de ressources peut varier pendant le chargement en raison de la pagination
- Certains services globaux, comme IAM, Route53 et CloudFront, utilisent toujours la région us-east-1
Contribution et base technique
- Les contributions sont les bienvenues, et il est demandé de proposer les nouveaux services dans GitHub Discussions avant leur ajout
- Le projet s’inspire de k9s et utilise Ratatui (bibliothèque TUI Rust) ainsi que aws-sigv4 (AWS SDK for Rust)
- Projet open source pour la communauté AWS, avec 622 stars et 15 forks
Licence
- Distribué sous licence MIT
- Le code source et le fichier de licence sont disponibles dans le dépôt GitHub
Aucun commentaire pour le moment.