Home

Itamae is a lightweight, Chef-inspired configuration management tool written in Ruby. It lets you define your infrastructure as code using a simple, readable DSL and apply it to local or remote machines.

Why Itamae?

  • Simple – Minimal DSL with a gentle learning curve. If you know Chef, you already know Itamae.
  • Lightweight – No server, no agent. Just a gem and your recipes.
  • Flexible – Run locally, over SSH, inside Docker containers, or in FreeBSD jails.
  • Extensible – Plugin system for custom resources and recipes distributed as gems.

Quick Example

# recipe.rb
package 'nginx' do
  action :install
end

service 'nginx' do
  action [:enable, :start]
end

template '/etc/nginx/nginx.conf' do
  source 'nginx.conf.erb'
  variables(worker_processes: 4)
  notifies :restart, 'service[nginx]'
end
# Apply locally
itamae local recipe.rb

# Apply via SSH
itamae ssh --host web01.example.com recipe.rb

# Apply to Vagrant VM
itamae ssh --vagrant --host default recipe.rb

Installation

Add to your Gemfile:

gem 'itamae', '~> 1.14', '>= 1.14.2'

Or install directly:

gem install itamae

Documentation

Section Description
Getting Started Installation, first recipe, running Itamae
Resources All 15 built-in resource types
CLI Reference Commands, options, and exit codes
Backends Local, SSH, Docker, and Jail backends
Guides Recipes, definitions, notifications, and more