zsh に git のブランチ名を出力しているのですが、kubectl
の current-context や namespace も出力できると良いなと思ってやって見ました。
初めは kubectl
コマンドを使ってやっていたのですが、やや遅くてコマンドを実行するたびにストレスを感じるようになったので、Go で ~/.kube/config
を読み込んで出力するだけのコマンド kube_prompt_info を作ってやって見ました。
ちなみにこの名前は oh-my-zsh 付属の git_prompt_info が元になっており、kube-prompt とは関係ありません。
kube_prompt_info のインストール
Go をインストールした状態で以下を実行します。
$ go get github.com/yuya-takeyama/kube_prompt_info
kube_prompt_info のセットアップ
zsh には $PROMPT
という変数を書き換えることでプロンプトを書き換えられます。
~/.zshrc
に以下のような行を書き加えます。
PROMPT='%m:%c $(kube_prompt_info) %(!.#.$) '
export KUBE_PROMPT_INFO_PREFIX="%{$fg[yellow]%}("
export KUBE_PROMPT_INFO_SUFFIX=")%{$reset_color%}"
この状態で source ~/.zshrc
するなどすれば完了。
私は実際には oh-my-zsh 付属の daveverwer
という theme をコピーして中身をいじって、以下のような感じのプロンプトになっています。