Simple and lightweight configuration management tool inspired by Chef.
Concept
- Chef-like DSL (but not compatible with Chef)
- Simpler and lighter weight than Chef
- Only recipes
- Idempotent
Installation
$ gem install itamae
Getting Started
Create a recipe file as recipe.rb
:
package 'nginx' do
action :install
end
service 'nginx' do
action [:enable, :start]
end
And then execute itamae
command to apply a recipe to a local machine.
$ itamae local recipe.rb
INFO : Starting Itamae...
INFO : Recipe: /home/user/recipe.rb
INFO : package[nginx]
INFO : action: install
INFO : installed will change from 'false' to 'true'
INFO : service[nginx]
INFO : action: enable
INFO : action: start
Or you can apply a recipe to a remote machine by itamae ssh
.
$ itamae ssh --host host001.example.jp recipe.rb
You can also apply a recipe to Vagrant VM by itamae ssh --vagrant
.
$ itamae ssh --vagrant --host vm_name recipe.rb
You can find further information to use Itamae on Itamae Wiki.
Enjoy!
Documentation
https://github.com/itamae-kitchen/itamae/wiki
Run tests
Requirements: Vagrant
$ bundle exec rake spec
Get Involved
Presentations / Articles
in Japanese
- Itamae - Infra as Code 現状確認会
- クックパッドのサーバプロビジョニング事情 - クックパッド開発者ブログ
- Itamaeが構成管理を仕込みます! ~新進気鋭の国産・構成管理ツール~:連載|gihyo.jp … 技術評論社
Contributing
If you have a problem, please create an issue or a pull request.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request