/bocuse

A front-end language to chef-solo.

Primary LanguageRubyMIT LicenseMIT

bocuse - a new kind of chef

SYNOPSIS 

Bocuse is a special kind of chef - A front-end language to chef-solo. 

STATUS

Version 0.1.0 - This works for us. No warranties implied.

USAGE

The workflow will be 
  BOCUSE -> (bocuse compile) -> JSON -> (chef-solo) -> Machine Configuration
  
A bocuse configuration is hosted below config and looks like this:

  config/
    nodes/      # where all node descriptions live
    templates/  # where your templates live
    lib/        # helper code, will be in $:
    
To get started, create a file called 'config/node/a.rb' and put this into it: 

  node 'a' do |cfg|
    cfg.ip '1.2.3.4'
  end
  
If you now run 
  
  bocuse compile a
  
from the top-level directory, you'll get a JSON configuration like this one: 

  {"ip":"1.2.3.4"}
  
as output. 

Please see the examples directory for more examples. 

HACKING

1. Get gems: `bundle install`.
2. Verify all is ok: `rspec`.
3. Read.
4. Write spec.
5. Improve code.
6. Issue pull request with great documentation.
7. GOTO 3 UNLESS HAPPY.

AUTHORS

Florian Hanke (@ floere)
Kaspar Schiess (@ kschiess)
Jens-Christian Fischer (@ jcfischer)

LICENSE

MIT License - See LICENSE file for details. (Copyright 2012, Mobino SA)