不會吧?你還在手動編輯 ~--ssh-config?

一個簡單高效的 SSH 和 Kuberenetes 連接管理工具

在實際工作中經常需要遠程服務器和 Kubernetes,對於我這種 CLI 選手,不太喜歡一些圖形化工具,尤其是工具之間會有不兼容和遷移成本的問題。但當服務器和集羣的數量多了之後,通過編輯文本的方式管理連接信息,非常不方便且容易出錯。

所以,我打造了 ConfigForge,一個專爲 macOS 用戶設計的開源 SSH 和 Kubernetes 連接管理工具。

https://github.com/samzong/configforge

ConfigForge 的核心不是接管你的終端,而且提供更優的連接信息的管理形式。

01

核心功能

1.1 UI 配置管理

ConfigForge 爲管理 ~/.ssh/config 文件提供了圖形界面,具有以下關鍵特性:

對於 Kubernetes 用戶,ConfigForge 提供:

1.2 命令行界面

ConfigForge 包含一個名爲 cf 的綜合 CLI 工具,提供對相同功能的終端訪問:

CLI 採用子命令結構處理 SSH 和 Kubernetes 操作,使用 Swift Argument Parser 進行命令處理。

cf 默認是 ssh 子命令,實現快速 SSH 連接到服務器:

(base) x in ~ λ cf l
Available SSH hosts:
  1. *
  2. blog
  3. sf
  4. dev-156
Use 'cf c <number>' or 'cf c <hostname>' to connect
Use 'cf s <number>' or 'cf s <hostname>' to show details
(base) x in ~ λ cf c 2
Connecting to 2. blog...
Welcome to Alibaba Cloud Elastic Compute Service !

cf 提供了查看多 kubeconfig 的方式,實現了快速切換當前的 K8s 連接信息。

(base) x in ~ λ cf k -h
OVERVIEW: Manage Kubernetes configurations
Commands for managing Kubernetes contexts and configurations
USAGE: cf kube <subcommand>
OPTIONS:
  -h, --help              Show help information.
SUBCOMMANDS:
  current, cur            Show current active Kubernetes configuration
  list, ls, l             List all Kubernetes configurations
  set                     Set the active Kubernetes configuration
  See 'cf help kube <subcommand>' for detailed help.
(base) x in ~ λ cf k l
Available Kubernetes configurations:
* 1. card4090-1year-kubeconfig.yaml (active)
  2. new-config-5-16-25,_13-18.yaml
Use 'cf k set <number>' or 'cf k set <filename>' to switch configuration
Use 'cf k current' to show current active configuration
(base) x in ~ λ cf k set 2
Selected configuration 2: new-config-5-16-25,_13-18.yaml
Successfully switched active Kubernetes configuration to 'new-config-5-16-25,_13-18.yaml'

02

如何使用

目前應用基於 Homebrew 分發,同時提供了適配 M 系列和 Intel 芯片的 2 個版本。

brew tap samzong/tap
brew install configforge

如果工具對你來說有用,歡迎點個 Star,超過 30 個就可以推送到 Homebrew 主倉庫。

不是蘋果開發者,所以沒簽名,首次啓用會提示文件損壞,使用如下命令激活即可。

xattr -dr com.apple.quarantine /Applications/ConfigForge.app

爲什麼不支持 Windows ?

  1. Windows 幾乎都是使用圖形化工具爲主,所以用戶需求不大

  2. 我不知道怎麼寫 Windows 的應用,最近嘗試做使用跨平臺的應用(Electron)

03

寫在最後

爲什麼選擇開源?

ConfigForge 管理的是核心的服務器和 Kubernetes 的連接信息,如果沒有確保足夠的用戶隱私和透明度,我自己都不敢用,所以所有代碼都可公開審查。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/bn4OiG9vUO51BemE8Et9Lw