Sobre o projeto

sofka é uma interface de terminal (TUI) para Kubernetes escrita em Rust, construída sobre kube-rs e ratatui. Ela é projetada para ser assíncrona em todos os lugares, para que a interface nunca bloqueie em operações de cluster. O projeto é inspirado no k9s, mas reimaginado com foco em desempenho assíncrono e integrações nativas. Os principais recursos incluem: - Navegação de recursos personalizados com um pipeline de renderização genérico, colunas integradas para tipos comuns e detalhamento de CRDs para seus recursos personalizados. - Suporte integrado ao Flux CD: suspender, retomar e reconciliar por meio de patches de API nativos (sem necessidade do binário flux). Inclui um inspetor Helm nativo que decodifica os Secrets de release por conta própria. - Suporte integrado ao Argo CD: suspender, retomar e sincronizar aplicações ArgoCD; ApplicationSets suportam suspender/retomar. Usa patches de API nativos, sem o binário argocd. - Explicação de incidentes: pressionar `X` abre uma visão de incidente determinística e baseada em evidências (sem IA, sem serviço externo). - Ações em massa: marque linhas com a barra de espaço para excluir, matar ou executar ações do Flux em vários recursos de uma vez. - Port-forwards em segundo plano: iniciar um não congela a TUI; `:pf` gerencia todos os encaminhamentos. - Proteções e modo somente leitura: "nunca excluir em produção" é aplicado, não apenas lembrado. - Skins: Catppuccin, Gruvbox, Solarized, Nord, Dracula, Tokyo Night, One Dark, Rosé Pine, Rosé Pine Dawn, Monokai, Flexoki, com detecção automática de claro/escuro. As opções de instalação incluem binários pré-compilados para macOS, Linux e Windows (aarch64/x86_64) a partir dos releases, além de Homebrew, Nix e Cargo. Os pacotes Linux incluem DEB, RPM, Arch e Alpine APK. Um módulo Home Manager está disponível para usuários de Nix. O uso suporta conclusão de shell para Bash, Zsh, Fish, Elvish e PowerShell. As opções de linha de comando incluem seleção de recurso, namespace, todos os namespaces, contexto, kubeconfig, modos somente leitura/gravação e describe nativo experimental. Os modos headless (`--check`, `--snapshot`, `info`) funcionam sem um TTY e servem como testes de fumaça de CI. A configuração usa `config.toml`, `config.yaml` ou `config.yml` em `$XDG_CONFIG_HOME/sofka` (ou `~/.config/sofka`). As opções podem ser substituídas por cluster ou por contexto do kubeconfig, permitindo que a produção seja somente leitura com uma skin clara, enquanto outros ambientes permanecem conforme configurado. A documentação cobre recursos, comparação com k9s, benchmarks de desempenho, keymaps, configuração, visualizações e limites, plugins, segurança, provedores, depuração e arquitetura. O projeto é licenciado duplamente sob MIT ou Apache-2.0.