À propos du projet
sofka est une interface utilisateur terminal (TUI) Kubernetes écrite en Rust, construite sur kube-rs et ratatui. Elle est conçue pour être asynchrone partout, afin que l'interface ne bloque jamais lors des opérations sur le cluster. Le projet s'inspire de k9s, mais réimaginé avec un accent sur les performances asynchrones et les intégrations natives.
Les principales fonctionnalités incluent :
- Navigation dans les ressources personnalisées avec un pipeline de rendu générique, des colonnes intégrées pour les types courants, et un accès détaillé des CRD à leurs ressources personnalisées.
- Prise en charge intégrée de Flux CD : suspendre, reprendre et réconcilier via des correctifs d'API natifs (aucun binaire flux requis). Comprend un inspecteur Helm natif qui décode lui-même les Secrets de release.
- Prise en charge intégrée d'Argo CD : suspendre, reprendre et synchroniser les Applications ArgoCD ; les ApplicationSets prennent en charge suspendre/reprendre. Utilise des correctifs d'API natifs, aucun binaire argocd.
- Explication d'incidents : appuyer sur `X` ouvre une vue d'incident déterministe et fondée sur des preuves (pas d'IA, pas de service externe).
- Actions groupées : marquer des lignes avec la barre d'espace pour supprimer, tuer ou effectuer des actions Flux sur de nombreuses ressources à la fois.
- Redirections de ports en arrière-plan : en démarrer une ne fige pas la TUI ; `:pf` gère toutes les redirections.
- Garde-fous et mode lecture seule : « ne jamais supprimer en production » est appliqué, pas seulement mémorisé.
- Skins : Catppuccin, Gruvbox, Solarized, Nord, Dracula, Tokyo Night, One Dark, Rosé Pine, Rosé Pine Dawn, Monokai, Flexoki, avec détection automatique clair/sombre.
Les options d'installation incluent des binaires précompilés pour macOS, Linux et Windows (aarch64/x86_64) à partir des versions, ainsi que Homebrew, Nix et Cargo. Les paquets Linux incluent DEB, RPM, Arch et Alpine APK. Un module Home Manager est disponible pour les utilisateurs de Nix.
L'utilisation prend en charge la complétion du shell pour Bash, Zsh, Fish, Elvish et PowerShell. Les options de ligne de commande incluent la sélection de ressources, l'espace de noms, tous les espaces de noms, le contexte, kubeconfig, les modes lecture seule/écriture, et une description native expérimentale. Les modes sans tête (`--check`, `--snapshot`, `info`) fonctionnent sans TTY et servent également de tests de fumée CI.
La configuration utilise `config.toml`, `config.yaml` ou `config.yml` sous `$XDG_CONFIG_HOME/sofka` (ou `~/.config/sofka`). Les options peuvent être remplacées par cluster ou par contexte kubeconfig, permettant à la production d'être en lecture seule avec un skin clair tandis que d'autres environnements restent tels que configurés.
La documentation couvre les fonctionnalités, la comparaison avec k9s, les benchmarks de performances, les mappages de touches, la configuration, les vues et seuils, les plugins, la sécurité, les fournisseurs, le débogage et l'architecture. Le projet est sous double licence MIT ou Apache-2.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.