この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは。齋藤です。 今回はgolangの記事ですが、golangの話、コードは出てきません。
はじめに
設定の保存に、個人的にenvfileを使うことがあるんですが これを使う場合、以下のような形で使うことがありました。
$ cat foo.env
TEST=2
$ env `cat foo.env` sh -c 'echo $TEST'
2
なにやらごちゃごちゃしているので、いい感じに使えるコマンドが欲しくなりました。
書いた
envfileというツールをgolangで書きました。
使い方は至ってシンプルです。
$ cat foo.env
TEST=2
$ envfile foo.env sh -c 'echo $TEST'
2
終わり
完全にネタっぽい上にエラーハンドリングもまともにしていないコマンドが出来上がりました。 また、これは完全に車輪の再発明です。
次の機会でお会いしましょう。 リポジトリはこちらです。
インストールして使ってみてください。
go get github.com/wreulicke/envfile
SSM Parameter Storeを使い倒すおまけも書いたので興味があればどうぞ。
おまけ
SSM Parameter Store からパラメータを env ファイルに書いておいて取ってきます。(これがやりたかった) 今回は Parameter Store から Amazon Linux の最新の AMI ID を取ってきます。
$ go get github.com/remind101/ssm-env
$ cat test.env
TEST=ssm:///aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs
$ envfile test.env ssm-env sh -c 'echo $TEST'
ami-88d038f7
これにenvsubstとかと組み合わせると楽しいかもしれませんね。