社内にホスト名一覧をjsonで返すAPIがあったので、jqとpecoで対話的にホスト名を選択してログインできるようにした。
.bashrc
.bashrc
function list_intra_hosts() {
# 社内APIが返すjsonの"name" キーがホスト名
# jqでホスト名のみをリスト化
curl -sS http://apihost/hosts | jq -r '.[] | .name'
}
function ssh_intra_host() {
ssh $(list_hosts | peco)
}
alias pssh=ssh_intra_host
使い方
$ pssh
まとめ
社内APIと連携して対話的にホストにログインすることができた。
個人的にpecoなどを社内のオペレーションの仕組みに取り入れる発想があまりなかったので、ちょっとしたライフジェインジングなハックだった。