Sobre el proyecto

sofka es una interfaz de usuario de terminal (TUI) para Kubernetes escrita en Rust, construida sobre kube-rs y ratatui. Está diseñada para ser asíncrona en todas partes, de modo que la interfaz nunca se bloquea durante las operaciones del clúster. El proyecto está inspirado en k9s, pero reinventado con un enfoque en el rendimiento asíncrono y las integraciones nativas. Las características clave incluyen: - Exploración de recursos personalizados con un pipeline de renderizado genérico, columnas integradas para tipos comunes y desglose desde CRDs hasta sus recursos personalizados. - Soporte integrado para Flux CD: suspender, reanudar y reconciliar mediante parches nativos de la API (sin necesidad del binario flux). Incluye un inspector nativo de Helm que decodifica los Secrets de las releases por sí mismo. - Soporte integrado para Argo CD: suspender, reanudar y sincronizar aplicaciones de ArgoCD; los ApplicationSets admiten suspender/reanudar. Utiliza parches nativos de la API, sin el binario argocd. - Explicación de incidentes: presionar `X` abre una vista de incidentes determinista y basada en evidencia (sin IA, sin servicio externo). - Acciones masivas: marcar filas con la barra espaciadora para eliminar, matar o realizar acciones de Flux en muchos recursos a la vez. - Port-forwards en segundo plano: iniciar uno no congela la TUI; `:pf` gestiona todos los reenvíos. - Protecciones y modo de solo lectura: "nunca eliminar en producción" se aplica, no solo se recuerda. - Temas visuales: Catppuccin, Gruvbox, Solarized, Nord, Dracula, Tokyo Night, One Dark, Rosé Pine, Rosé Pine Dawn, Monokai, Flexoki, con detección automática de claro/oscuro. Las opciones de instalación incluyen binarios precompilados para macOS, Linux y Windows (aarch64/x86_64) desde los releases, además de Homebrew, Nix y Cargo. Los paquetes para Linux incluyen DEB, RPM, Arch y Alpine APK. Hay un módulo de Home Manager disponible para usuarios de Nix. El uso admite completado de shell para Bash, Zsh, Fish, Elvish y PowerShell. Las opciones de línea de comandos incluyen selección de recursos, namespace, todos los namespaces, contexto, kubeconfig, modos de solo lectura/escritura y describe nativo experimental. Los modos sin cabeza (`--check`, `--snapshot`, `info`) funcionan sin TTY y sirven como pruebas de humo en CI. La configuración utiliza `config.toml`, `config.yaml` o `config.yml` en `$XDG_CONFIG_HOME/sofka` (o `~/.config/sofka`). Las opciones se pueden anular por clúster o por contexto de kubeconfig, lo que permite que la producción sea de solo lectura con un tema claro mientras que otros entornos permanecen según lo configurado. La documentación cubre características, comparación con k9s, benchmarks de rendimiento, mapas de teclas, configuración, vistas y umbrales, plugins, seguridad, proveedores, depuración y arquitectura. El proyecto tiene doble licencia bajo MIT o Apache-2.0.