mitamae
Itamaeの代替実装(alternative implementation)。mrubyで駆動する、高速・軽量・単一バイナリの構成管理ツール。
特徴
- 単一バイナリ: バイナリ1つをサーバーに転送するだけで展開できる。MRI(標準Ruby処理系)は不要。
- 高速: Itamae本家がシェルコマンド経由・SSH越しに処理するのに対し、mitamaeはmrubyのC関数を活用してローカルで処理するため高速。
- 依存が少ない: Chef Server、Berkshelf、Data Bags、RubyGemsすら不要。本質的な機能のみを提供する設計思想。
使い方の例
# recipe.rb
package 'nginx' do
action :install
end
service 'nginx' do
action [:enable, :start]
end
mitamae local recipe.rb --log-level=debug
directory, file, package, serviceなどの主要リソースはItamae本家に準拠しており、Itamaeのwikiがそのままドキュメントとして参照できる。Serverspecがサポートする全OS向けにマルチアーキテクチャのバイナリが配布されている。
構成管理ツールの中での位置づけ
Itamaeをmrubyで書き直し、単一バイナリ配布・高速化を実現した派生実装。シンプルさを追求する路線をさらに推し進めたツール。
#infrastructure-as-code #ruby #mruby