tsub/alfred-aws-vault-workflow: A Alfred workflow to open the AWS Management Console with aws-vault
Chrome 版
Firefox (Multi-Account Container extension) 版
aws-vault 自体今回初めて知ったのですが、以下の記事を読んで、複数の AWS アカウント使いには大変便利そうだったので Alfred 用のものをシュッと作りました。
aws-vault loginでChromeのウィンドウをAWSアカウント毎に分離する - Qiita
はじめに
まず最初に以下の記事をご覧ください。
aws-vault loginでChromeのウィンドウをAWSアカウント毎に分離する - Qiita
作った理由
自分は元々以下の Alfred Workflow を使って Alfred から AWS マネジメントコンソールを開いていたため、aws-vault も Alfred から使えるようにしたかったという理由です。
しかし残念ながら今回作った alfred-aws-vault-workflow と alfred-aws-console-services-workflow の併用は厳しそうです。
alfred-aws-vault-workflow で AWS マネジメントコンソールにログインした後、alfred-aws-console-services-workflow を使うと、Chrome の場合はメインのウインドウで、Firefox の場合は Multi-Account Container でなく通常のウィンドウとして AWS マネジメントコンソールが開いてしまうためです。
これについては、今後あまりにも使い勝手が悪いようであれば、alfred-aws-console-services-workflow の機能を alfred-aws-vault-workflow に取り込む形でなんとかするかもしれません。
注意点
aws-vault の PATH について
Alfred Workflow 内で Bash を動かした時の PATH の問題で、aws-vault は /usr/local/bin/aws-vault
としてインストールされている前提 (ハードコーディングしている) になります。
Alfred の時点で macOS のみですし、大抵 Homebrew を使うと思うので大きな問題はないと思います。
Alfred Workflow の中に aws-vault のバイナリをパッケージングすることも考えましたが、アップデートへの追従が大変そうだったのでやめておきました。
サポートしているブラウザについて
現時点では Google Chrome と Firefox のみになります。
元々 Chrome のみのつもりでしたが、過去に Firefox の Multi-Account Container extension を使ったことがあり、非常に好印象だったため、Firefox もサポートしています。
他のブラウザでも Chrome のプロファイルや Firefox の Multi-Account Container extension のような機能が CLI から使えれば仕組み的には対応可能だと思います。
Firefox で使う場合
Multi-Account Container extension と Open external links in a container extension が必須になります。
Open external links in a container extension については、Multi-Account Container extension 単体では CLI から使えないため必要となります。
詳しくは以下の Issue をご覧ください。