@kyanny's blog

My thoughts, my life. Views/opinions are my own.

1Password CLI (op) v2

Upgrade to 1Password CLI 2 | 1Password Developer Documentation

1Password を操作するコマンドラインツールの op がメジャーバージョンアップして v2 になった。

  • コマンド体系が変わった(op create item -> op item create など)
  • JSON テンプレートを使うやつが op encode ではなくて --template オプションに変わった
  • op item create 成功後に作成したアイテムの情報をいい感じに表示するようになった(以前は内部 ID みたいな謎の JSON 文字列のみ出力していた)

社内テスト用に GitHub Enterprise Server のインスタンスを起動する chatops コマンドがあり、そのコマンドの出力をパースして 1Password に Login を追加するツールを自分用に作って使っていて、brew upgrade したら動かなくなったので調べてみたら op のバージョンアップが原因だった。

結構色々変わってそうだったので対応は苦労するかと思ったが、移行ガイドが充実していたのと新バージョンの方が色々分かりやすくなっていた(特に JSON テンプレートの書式)ことも手伝って、案外楽に対応できた。

ツールは Ruby で書いてるので op がコマンドラインツールで問題ない、むしろ助かってるが、Go とか Rust とかで CLI 作るのが流行ってる昨今、もし op が Go なり Rust なりで書かれているなら lib1passwordcliv2 みたいなのを提供して組み込めるようになってても面白いかも、とか思った。