README.md

Overview

Getting started with Chef can be difficult. Hatch aims to get you up and
running quickly, either locally using virtual machines or remotely with
EC2 instances.

There also exists the chicken-or-the-egg problem of deploying a live Chef
server without a pre-existing Chef server to manage it. If you're uncomfortable
(or prohibited from) using the Opscode Platform, Hatch can make it trivial
to bootstrap a live, self-managed Chef server using Chef Solo remotely.

How It Works

Hatch contains a Knife plugin and Vagrant provisioner that are capable of
bootstrapping a live Chef server. The server is automatically pre-seeded
with all the cookbooks and roles from your Chef repository and provisioned
to your liking with Chef Solo. After the initial Chef Solo run, management
is handed off to the Chef server running on the host. For remote (EC2)
hosts, Hatch copies your Chef repository over the wire and bootstraps the
Chef server using Chef Solo.

A local Knife configuration file (chef-hatch-repo/.chef/knife.rb by
default) is generated along with an admin Chef client (hatch by default),
allowing instant control over the hatched Chef server from the command
line.

Hatch uses the chef-server and chef-client cookbooks from the official
Opscode cookbooks repository.

Requirements

Virtualbox (>= 4.1.0)

Vagrant (>= 1.0.0) optionally installed by .rvmrc

Chef (>= 0.10.8) optionally installed by .rvmrc

Knife-EC2 (>= 0.5.10) optionally installed by .rvmrc

Librarian (>= 0.0.14) optionally installed by .rvmrc

Suggested

RVM (project .rvmrc included)

Getting Started

The Hatch repository has been forked from the official Opscode chef-repo
repository. That means it's a convenient starting point for your own Chef
repository. To begin, clone the Hatch repository: