프로젝트 소개
sofka는 kube-rs와 ratatui를 기반으로 Rust로 작성된 Kubernetes 터미널 사용자 인터페이스(TUI)입니다. 클러스터 작업 중 UI가 차단되지 않도록 모든 곳에서 비동기로 설계되었습니다. 이 프로젝트는 k9s에서 영감을 받았지만 비동기 성능과 기본 통합에 중점을 두고 재구상되었습니다.
주요 기능은 다음과 같습니다:
- 일반 렌더 파이프라인을 통한 사용자 정의 리소스 탐색, 일반적인 종류에 대한 내장 열, CRD에서 사용자 정의 리소스로 드릴다운 지원.
- 내장 Flux CD 지원: 네이티브 API 패치를 통한 일시 중지, 재개, 조정(flux 바이너리 불필요). 릴리스 Secret을 자체적으로 디코딩하는 네이티브 Helm 검사기 포함.
- 내장 Argo CD 지원: ArgoCD 애플리케이션 일시 중지, 재개, 동기화; ApplicationSets 일시 중지/재개 지원. 네이티브 API 패치 사용, argocd 바이너리 불필요.
- 인시던트 설명: `X` 키를 누르면 결정적이고 증거 기반의 인시던트 보기가 열립니다(AI 또는 외부 서비스 없음).
- 대량 작업: 스페이스바로 행을 표시하여 여러 리소스에 대해 삭제, 종료 또는 Flux 작업을 한 번에 수행할 수 있습니다.
- 백그라운드 포트 포워딩: 시작해도 TUI가 멈추지 않으며, `:pf`로 모든 포워딩을 관리합니다.
- 안전장치 및 읽기 전용 모드: "프로덕션에서 절대 삭제 금지"가 기억에만 의존하지 않고 강제됩니다.
- 스킨: Catppuccin, Gruvbox, Solarized, Nord, Dracula, Tokyo Night, One Dark, Rosé Pine, Rosé Pine Dawn, Monokai, Flexoki, 자동 밝은/어두운 감지 지원.
설치 옵션에는 릴리스에서 제공되는 macOS, Linux, Windows용 사전 빌드 바이너리(aarch64/x86_64)와 Homebrew, Nix, Cargo가 포함됩니다. Linux 패키지에는 DEB, RPM, Arch, Alpine APK가 포함됩니다. Nix 사용자를 위한 Home Manager 모듈도 제공됩니다.
사용법은 Bash, Zsh, Fish, Elvish, PowerShell용 셸 완성을 지원합니다. 명령줄 옵션에는 리소스 선택, 네임스페이스, 전체 네임스페이스, 컨텍스트, kubeconfig, 읽기 전용/쓰기 모드, 실험적 네이티브 describe가 포함됩니다. 헤드리스 모드(`--check`, `--snapshot`, `info`)는 TTY 없이 작동하며 CI 스모크 테스트로도 사용할 수 있습니다.
구성은 `$XDG_CONFIG_HOME/sofka`(또는 `~/.config/sofka`) 아래의 `config.toml`, `config.yaml` 또는 `config.yml`을 사용합니다. 옵션은 클러스터별 또는 kubeconfig 컨텍스트별로 재정의할 수 있어 프로덕션은 밝은 스킨으로 읽기 전용으로 설정하고 다른 환경은 구성된 대로 유지할 수 있습니다.
문서는 기능, k9s와의 비교, 성능 벤치마크, 키맵, 구성, 보기 및 임계값, 플러그인, 안전, 공급자, 디버깅, 아키텍처를 다룹니다. 이 프로젝트는 MIT 또는 Apache-2.0 이중 라이선스로 제공됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.