packer-provisioner-mitamae つくった

hatappi.hateblo.jp

以前の記事でも書いたように最近Goに入門しました
とりあえず何か作りながら学ぼうとして作ったのが

github.com

です!

どんなものを作ったか

PackerのミドルウェアなどをいれるProvisionerにおいてMItamaeを使うためのプラグインです
buildするマシン上にレシピがあれば実行することができます

{
  "builders": [ ... ],
  "provisioners": [{
    "type": "mitamae",
    "recipe_path": "/tmp/recipe.rb"
  }]
}

作ろうと思ったきっかけ

きっかけはGo入門したのでそれの練習なのですが、 もう1つとしては個人でも会社でもPackerとMItamaeの組み合わせはよくやるのですが、
毎回shellでMItamaeをダウンロードして実行権限付与して実行するようにしていたので、それが面倒だったというのもあります

作ってみて

go fmtでGoの規約にそって自動補正してくれるの良いですね
これにより他の人が書いたコードも読みやすくソースリーディングがはかどりました

後はPackerのPlugin意外と作るの簡単でした
というのもPackerは中で用意されているものもそれぞれがプラグインとして作られており外からも追加できるような仕組みになっているからです
そのため自前でPluginを作る際もPacker本体で提供されているinterfaceにそって開発していくだけ済みます

最後に

まだリリースしたてなのでバグなどあったらissueで報告していただけると嬉しいです