モジュールを作った経緯 社内で使っているコンポーネントの管理を IaC にしたかった。 コンポーネントを作った人は Terraform のモジュールを提供されたけど、Ansible のモジュールを作って運用したかった。 Go で Ansible モジュール作るのは簡単 type Response struct { Msg string `json:"msg"` Changed bool `json:"changed"` Failed bool `json:"failed"` } これを、json で標準出力に返せばいいだけ。 Failed じゃないなら os.Exit(0) で返せばいいし、Failed なら os.Exit(1) で返す。 バイナリを作る 僕は会社では Mac、家では Linux なのでバイナリは Linux と Darwin 向けに作る。 こんな感じの Makefile