5 个版本
0.2.1 | 2022 年 12 月 1 日 |
---|---|
0.2.0 | 2022 年 12 月 1 日 |
0.1.2 | 2021 年 10 月 22 日 |
0.1.1 | 2021 年 10 月 20 日 |
0.1.0 | 2021 年 10 月 14 日 |
#469 在 Web 编程
38KB
815 行
kcfg
有时,你需要处理很多 kubeconfig
文件。kcfg
就是为了帮助你而存在的!
安装
通过 Cargo
cargoinstall kcfg
Homebrew
brewinstall kcfg
命令
可用命令
fork
复制当前的 KUBECONFIG 文件并将其用作 KUBECONFIGcompletions
为你的 shell 生成补全脚本help
打印此消息或给定子命令的帮助信息init
在当前路径相关环境中初始化use
查找并使用正确的 KUBECONFIG
fork
Fork 命令会复制当前的 $KUBECONFIG
文件,并使用它作为 $KUBECONFIG
。此命令将打印用于导出新文件作为新 $KUBECONFIG
环境变量的命令。
标志
-
-o
--overwrite
复制的配置将不会在文件名中使用任何时间戳,这意味着它将覆盖以前的配置副本。 -
-n
--no-export
程序将不会尝试将复制的文件路径设置为新的$KUBECONFIG
环境变量。
选项
-p
--target-path
复制配置的目标目录。
初始化
在当前路径相关环境中初始化。此命令将在标准输出上打印初始化脚本。
参数
命令接受以下值
common
(默认值):程序将输出一个常见的初始化脚本bash
:程序将输出一个 bash 初始化脚本zsh
:程序将输出一个 zsh 初始化脚本
选项
-p
--path
定义自定义初始化路径。否则将使用当前路径。
使用
递归解析kubeconfig目录(默认为~/.kube
),并根据参数检索匹配的配置文件。程序将输出命令,将找到的文件作为新的KUBECONFIG
环境变量导出。
参数
命令接受筛选参数以找到正确的文件。
选项
-d
--directory
允许指定自定义的kubeconfig目录,而不是默认的~/.kube
完成脚本(灵感来自rustup
文档)
命令:kcfg completions
启用Bash、Fish、Zsh或PowerShell的Tab补全。脚本输出到stdout
,允许将输出重定向到任意文件。文件放置的位置取决于您使用的shell和操作系统。您的特定配置可能还会决定这些脚本需要放置的位置。
以下是Unix和类似操作系统(如GNU/Linux)下三种支持的shell的一些常见配置。
BASH
完成文件通常存储在/etc/bash_completion.d/
,用于系统范围内的命令,但也可以存储在~/.local/share/bash-completion/completions
,用于特定用户的命令。
运行命令
$ mkdir -p ~/.local/share/bash-completion/completions
$ kcfg completions bash >> ~/.local/share/bash-completion/completions/kcfg
这会安装完成脚本。您可能需要注销并重新登录shell会话,以便更改生效。
BASH(macOS/Homebrew)
Homebrew将bash完成文件存储在Homebrew目录中。使用已安装的bash-completion
brew公式,运行命令
$ mkdir -p $(brew --prefix)/etc/bash_completion.d
$ kcfg completions bash > $(brew --prefix)/etc/bash_completion.d/kcfg.bash-completion
FISH
Fish完成文件通常存储在$HOME/.config/fish/completions
。
运行命令
$ mkdir -p ~/.config/fish/completions
$ kcfg completions fish > ~/.config/fish/completions/kcfg.fish
这会安装完成脚本。您可能需要注销并重新登录shell会话,以便更改生效。
ZSH
ZSH完成通常存储在任何在您的$fpath
变量中列出的目录。要使用这些完成,您必须将这些生成的脚本添加到这些目录之一,或者将您的自定义脚本添加到该列表。
如果您不确定使用哪个目录,添加自定义目录通常是最佳选择。首先创建目录;在这个例子中,我们将在$HOME
目录中创建一个隐藏目录
$ mkdir ~/.zfunc
然后,在您的.zshrc
文件中,在compinit
之前添加以下行
fpath+=~/.zfunc
现在,您可以使用以下命令安装完成脚本
$ kcfg completions zsh > ~/.zfunc/_kcfg
然后,您必须注销并重新登录,或者只需运行
$ exec zsh
以使新完成生效。
自定义位置
或者,您可以将这些文件保存到您选择的任何位置,例如$HOME
目录中的自定义目录。这样做将需要您在登录脚本中添加适当的指令,例如使用source
。请参考您shell的文档,了解如何添加此类指令。
POWERSHELL
Powershell完成脚本需要PowerShell v5.0+(随Windows 10提供,但也可以单独下载Windows 7或8.1的版本)。
首先,检查是否已设置配置文件
PS C:> Test-Path $profile
如果上述命令返回 False
,请运行以下命令
PS C:> New-Item -path $profile -type file -force
现在打开由 $profile
提供的文件(如果您使用了 New-Item
命令,它将是 ${env:USERPROFILE}\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
接下来,我们可以将完成文件保存到我们的配置文件中,或者保存到一个单独的文件并在配置文件中引用它。要将完成文件保存到我们的配置文件中,请使用以下命令:
PS C:> kcfg completions powershell >> ${env:USERPROFILE}\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
依赖项
~4.5–6MB
~108K SLoC