1 pontos por GN⁺ 2026-01-05 | 1 comentários | Compartilhar no WhatsApp
  • taws é uma ferramenta de UI baseada em Rust para explorar e gerenciar recursos da AWS em ambiente de terminal, permitindo observar e controlar a infraestrutura AWS em tempo real
  • Suporta mais de 94 tipos de recursos e mais de 60 serviços AWS, além de oferecer troca de perfis e regiões, atalhos de teclado no estilo Vim e autocompletar
  • Suporta iniciar, parar e encerrar instâncias EC2, visualização detalhada em JSON/YAML dos recursos, além de filtragem e atualização em tempo real
  • Oferece vários métodos de instalação em macOS, Linux e Windows, como Homebrew, Cargo e download de binários, e requer configuração de credenciais AWS e permissões IAM
  • Projeto open source inspirado no k9s e criado com a biblioteca Ratatui, oferecendo aos usuários do AWS CLI uma experiência de gerenciamento visual e intuitiva

Visão geral do taws

  • taws é um visualizador e gerenciador de recursos da AWS baseado em terminal, projetado para facilitar a exploração e o gerenciamento da infraestrutura AWS
    • Monitora continuamente mudanças nos recursos AWS e oferece a capacidade de executar comandos sobre os recursos observados
  • O objetivo do projeto é simplificar e tornar mais eficiente o gerenciamento da infraestrutura AWS
  • É disponibilizado sob a licença MIT e foi escrito em Rust

Principais recursos

  • Suporte a múltiplos perfis e regiões, permitindo alternar facilmente entre várias contas e regiões da AWS
  • Suporte para explorar e gerenciar mais de 94 tipos de recursos e mais de 60 serviços
  • Recurso de atualização em tempo real, permitindo recarregar o estado dos recursos com uma única tecla
  • Atalhos de teclado semelhantes ao Vim para navegação rápida e execução de comandos
  • Controle embutido de instâncias EC2 (iniciar, parar, encerrar)
  • Recursos de visualização detalhada em JSON/YAML, filtragem por nome e propriedades e autocompletar com fuzzy matching

Como instalar

  • Homebrew (macOS/Linux): brew install huseyinbabal/tap/taws
  • Download de binários pré-compilados: pacotes por arquitetura para macOS, Linux e Windows
  • Instalação via Cargo: cargo install taws
  • Build a partir do código-fonte: requer Rust 1.70 ou superior, compilador C e linker
    • Comandos de instalação das ferramentas de desenvolvimento por plataforma são fornecidos (ex.: xcode-select --install, sudo apt install build-essential -y)

Execução e configuração

  • As credenciais AWS são reconhecidas a partir de caminhos padrão como aws configure, variáveis de ambiente, roles IAM e o arquivo ~/.aws/credentials
  • As permissões IAM exigem no mínimo permissões Describe* e List*
  • Exemplos de execução:
    • Executar com o perfil padrão: taws
    • Especificar um perfil: taws --profile production
    • Especificar uma região: taws --region us-west-2
    • Ativar logs de debug: taws --log-level debug
  • Caminho dos arquivos de log:
    • Linux: ~/.config/taws/taws.log
    • macOS: ~/Library/Application Support/taws/taws.log
    • Windows: %APPDATA%\taws\taws.log

Atalhos de teclado

  • Navegação: mover com j/k ou as setas, mudar de página com Ctrl-u/d
  • Troca de visualização: abrir o seletor de recursos com :, ver detalhes com Enter ou d
  • Ações: r atualizar, / filtrar, p trocar perfil, R trocar região, q sair
  • Controle de EC2: s iniciar, S parar, T encerrar

Serviços suportados

  • Suporte a 30 serviços centrais da AWS (cobrindo mais de 95% do uso total)
    • 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

Configuração de variáveis de ambiente

  • AWS_PROFILE: perfil padrão
  • AWS_REGION: região padrão
  • AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN: informações de autenticação

Problemas conhecidos

  • Alguns recursos podem não estar acessíveis com a política padrão somente leitura
  • Devido à paginação, a quantidade de recursos pode variar durante o carregamento
  • Alguns serviços globais, como IAM, Route53 e CloudFront, usam sempre a região us-east-1

Contribuição e base tecnológica

  • Contribuições são bem-vindas, e antes de adicionar um novo serviço é necessário propor a ideia no GitHub Discussions
  • Inspirado no k9s, usa Ratatui (biblioteca Rust TUI) e aws-sigv4 (AWS SDK for Rust)
  • Como projeto open source para a comunidade AWS, registra 622 stars e 15 forks

Licença

  • Distribuído sob a MIT License
  • O código-fonte e o arquivo de licença podem ser consultados no repositório no GitHub

1 comentários

 
GN⁺ 2026-01-05
Comentários do Hacker News
  • Não entendo muito bem qual é o apelo de uma TUI
    A vantagem de uma CLI é a scriptabilidade e composabilidade, enquanto uma TUI parece só uma versão de baixa resolução de uma UI de navegador

    • De um ponto de vista prático, a maioria dos programas centrados no teclado são TUIs
      Em GUIs, esse tipo de interface de teclado expressiva quase não aparece
    • É atraente o fato de poder operar apenas com uma conexão de terminal no servidor
    • Por exemplo, gosto muito do Lazygit. É o mais rápido depois da CLI e ainda permite ver informações visuais, então é a forma mais eficiente de lidar com git
    • Se você olhar o k9s, é um bom exemplo. A maior parte das ações pode ser feita com uma única tecla
    • Complementando outro comentário, uma TUI pode ser instalada no servidor e usada remotamente via SSH
  • Não funcionou muito bem na execução
    Fico preocupado em adicionar uma camada de middleware em cima da infraestrutura da AWS. Um comando errado ou um bug pode causar consequências graves
    Especialmente na AWS, há muitos bancos de dados com estado e workloads de produção, então a recuperação é difícil
    Acho válida a tentativa de melhorar a experiência da CLI, mas pessoalmente eu hesitaria até em usar um modo somente leitura
    Pelo menos a AWS CLI ou o console eliminam um ponto potencial de falha

    • Se for somente leitura, acho esse nível de cautela exagerado. Mesmo que falhe, no máximo a ferramenta trava ou mostra dados incorretos
      Isso também vale para a AWS CLI e para o console.
      Se você gerencia mudanças com IaC, uma ferramenta para explorar recursos visualmente é útil. O console da AWS é incômodo demais
    • Penso de forma parecida. Já gerencio o provisionamento com Terraform, e para tarefas ad-hoc o aws-cli basta
      Adicionar mais uma camada traz um risco considerável
    • Ainda assim, seria bom conseguir alternar rapidamente entre logs e o console para entender a situação
      Se for para uso com permissões somente leitura, como o k9s, talvez seja aceitável
    • Seria bom ter um mecanismo que, como o Terraform, mostrasse o “plan” antes da execução e nunca fizesse nada além disso
  • Seria bom se houvesse algo como “Price of Current Changes” na barra de menu
    Para ver na hora se a mudança custa US$ 0,01 ou US$ 10.001

    • Dá até vontade de pensar em como seria bom se a Amazon tivesse simplificado isso desse jeito
  • Há um comentário no código: // TODO: Handle credential_source, role_arn, source_profile, sso_*
    Ou seja, não há suporte a SSO nem login com múltiplas contas, e é preciso usar diretamente AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY
    Em ambiente de produção, isso parece arriscado do ponto de vista de segurança, então não vejo muito como usar de verdade

    • Também acho segurança importante, mas esta é uma versão inicial. A ideia é adicionar recursos gradualmente com base no feedback da comunidade
    • Se não houver suporte a SSO, eu também teria dificuldade para usar
  • Hoje em dia, parece que um script de shell de 15 linhas de repente vira um CLI ou app TUI em bun com 50 mil linhas

    • O objetivo é diferente. O aws-cli serve para scripts e tarefas repetitivas, enquanto esse tipo de ferramenta serve para exploração e inspeção pontual
      Não é para substituir a CLI existente, mas para funcionar como complemento
    • Em outras palavras, parece um tipo de Electron dentro do terminal
  • Em organizações com várias contas AWS, se você deixar os perfis pré-configurados com uma ferramenta como aws-sso-util, alternar entre contas fica muito mais rápido

  • Quando li o título pela primeira vez, por um instante fiquei animado achando que significava que a UI da AWS tinha virado baseada em terminal

  • Pode ser uma pergunta boba, mas tenho curiosidade se uma TUI funciona bem também em terminais com fundo claro

    • Não é uma pergunta boba de jeito nenhum. Sou da geração dos antigos terminais de tela verde, então fundo branco com texto preto é muito mais confortável
      O modo escuro acaba até causando fadiga visual
      Infelizmente, no meu terminal de fundo claro o app travou logo ao iniciar, então não consegui testar
  • Travou logo na primeira execução. Nesse estado, é difícil viralizar

    • Havia um problema no tratamento de recursos, mas isso foi corrigido na versão 1.0.1, então vale tentar de novo
  • Gostaria que mais designers de TUI tivessem experimentado interfaces da era dos mainframes, como o Hercules
    A filosofia de composição de UI daquela época tem muita coisa para ensinar

    • Também tenho curiosidade sobre isso. As TUI apps de hoje em dia parecem todas meio parecidas, então fico curioso sobre as abordagens de design diferenciadas daquela época
    • Gostaria de ouvir mais especificamente o que você gostava nelas