Open3
tmuxのステータスバーに現在使用しているkubernetes clusterを表示する
まずは使用環境を確認してみます。
echo $SHELL
/usr/local/bin/fish
$ echo $KUBECONFIG
/Users/somme/.kube/staging-kubeconfig.yaml:/Users/somme/.kube/es-staging-kubeconfig.yaml
クラスタの名前も確認します。(実際のclusterの名前ではありません)
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* lke102734-ctx lke102734 lke102734-admin default
lke102735-ctx lke102735 lke102735-admin default
次にkubernetesのcontextを取得するスクリプトをfishで書きます。
#!/usr/bin/env fish
while true
echo (kubectl config current-context)
sleep 10
end
ここでは10秒ごとに再取得するようにしています。もしnamespace
も表示したいのでしたら
echo (kubectl config current-context) : (kubectl config view --minify -o jsonpath='{..namespace}')
でnamespaceも取得できます。(lke102734-ctx : default
のような形式で表示されるはず)
このファイルを適当な場所に保存します。
最後に、tmuxのステータスバーに表示させます。
私は
を使用しているので、@minimal-tmux-status-right-extra
の場所に表示する形になります。デフォルトのステータスバーでしたら@minimal-tmux-status-right-extra
をstatus-right
などに変更してください。
~/.tmux.conf
に追記します。
set -g @minimal-tmux-status-right "#(/Users/somme/.tmux/context.fish) "
#(/Users/somme/.tmux/context.fish)
は先ほど保存したスクリプトの場所を入れてください。
テキストスタイルを変更したい場合は、括弧の中に#[bg=,fg=,textstyle]
を追記してください。例として背景の色を#8aadf4、テキストを太字に変更します。
set -g @minimal-tmux-status-right "#[bg=#8aadf4,fg=#000000,bald] #(Users/somme/.tmux/context.fish) "
できました。contextを切り替えても数秒で反映されるので快適です。