omuronの備忘録

個人的な備忘録

rain でプロファイル指定ができない

CloudFormation を CLI で簡単に使える rain を触ってみました。

github.com

インストール

$ brew install rain
$ rain --version
Rain v1.2.0 darwin/amd64

プロファイルを指定して試す

-p でプロファイルが指定できるけど、エラーになってしまった。

$ rain ls -p poc
unable to find valid credentials

--debug オプションを付けるとどこで panic したかわかるようです。

$ rain ls --debug -p poc                   
panic: unable to find valid credentials [recovered]
    panic: unable to find valid credentials

goroutine 1 [running]:
github.com/aws-cloudformation/rain/internal/cmd.execute.func1(0xc000587f58)
    github.com/aws-cloudformation/rain/internal/cmd/wrap.go:77 +0x225
panic(0x18d5700, 0xc00012e720)
    runtime/panic.go:965 +0x1b9
github.com/aws-cloudformation/rain/internal/aws.loadConfig(0x1fc9a90, 0xc000024258, 0xc000126600, 0xb, 0x1)
    github.com/aws-cloudformation/rain/internal/aws/aws.go:80 +0x906
github.com/aws-cloudformation/rain/internal/aws.NamedConfig(0xc000126600, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    github.com/aws-cloudformation/rain/internal/aws/aws.go:114 +0x149
github.com/aws-cloudformation/rain/internal/aws.Config(...)
    github.com/aws-cloudformation/rain/internal/aws/aws.go:95
github.com/aws-cloudformation/rain/internal/cmd/ls.glob..func1(0x2302560, 0xc000594a20, 0x0, 0x3)
    github.com/aws-cloudformation/rain/internal/cmd/ls/ls.go:44 +0x368
github.com/spf13/cobra.(*Command).execute(0x2302560, 0xc0005949f0, 0x3, 0x3, 0x2302560, 0xc0005949f0)
    github.com/spf13/cobra@v1.1.3/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x2302ce0, 0xc000042740, 0x1068aa8, 0xc000000180)
    github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
    github.com/spf13/cobra@v1.1.3/command.go:897
github.com/aws-cloudformation/rain/internal/cmd.execute(0x2302ce0, 0x0)
    github.com/aws-cloudformation/rain/internal/cmd/wrap.go:86 +0x65
github.com/aws-cloudformation/rain/internal/cmd.Execute(0x2302ce0)
    github.com/aws-cloudformation/rain/internal/cmd/wrap.go:95 +0x2b
main.main()
    command-line-arguments/main.go:23 +0x2d

どうやら .aws/configsource_profile の行をつけていると問題になるっぽいので、削除して実行するとうまくいきました。

$ cat .aws/config
[profile poc]
region = ap-northeast-1
mfa_serial = arn:aws:iam::123456789012:mfa/omuron
role_arn = arn:aws:iam::123456789012:role/xxx
source_profile = poc

うーん、でも source_profile を消すと通常の aws コマンドのときに困るんだけど。
この辺りの理解が正しくないんだろうか?

雨が降るようなプログレスがかわいい rain ですが、仲良くするためにはまだ修行が足りないようでした。
精進します。