こんにちは。
Terraformで日々インフラの構築とか変更とか行なっています。Terraformにはworkspaceという機能がありますが、一つのコードで複数の環境に適用できるため便利ですよね。私も普段workspaceを使っていますが、まれに複数登録されているプロジェクトを目の当たりにして、「今どのworkspaceを選択しているか」というのを忘れてコマンドを打って調べています。意外と勿体無いこの時間、これを解消したいので常にプロンプトにworkspace出てきたらいいなと思って調べて作成しました。
やっている人がいないか調べる
自分で完結させたい思いもありつつ、とりあえずは同じ思いを抱いている人を探しにGoogleで検索しました。
出てきました。
https://github.com/amatellanes/terraform-workspace-prompt
こちらに基本的に導入方法は書いてありますが、シェルスクリプトを落として、.bashrcに書いてあげれば大丈夫です。
実際にやり方を見てみましょう。
スクリプトを落としてくる
以下のコマンドを実行します。
$ wget -O ~/.terraform-workspace-prompt.sh https://raw.githubusercontent.com/amatellanes/terraform-workspace-prompt/master/terraform-workspace-prompt.sh
ホームディレクトリにファイルがいることを確認しましょう。
~/.bashrcに以下を記載
promptの表示をどうするかは皆さんの好みですが、私は現在以下の設定にしています。$(terraform_prompt)をどこかで埋め込めていれば表示できるはずです。
source $HOME/.terraform-workspace-prompt.sh
export PS1='\h \W \[\e[32m\]$(terraform_prompt "(%s)")\[\e[0m\] ▸ '
上記を追記したら、あとは
$ source ~/.bashrc
を実行すれば反映されます。
完成
これで間違ったworkspaceにapplyなんて悲しいことを起こさなくてすみますね。
オペミスは大障害からヒヤリハットまでたくさんありますが、そういった芽を摘んでいく仕組みづくりも大事だなと最近つくづく思います。
参考
https://qiita.com/hmmrjn/items/60d2a64c9e5bf7c0fe60
https://github.com/amatellanes/terraform-workspace-prompt