A simple boilerplate to help you run chef-solo.
What Masterchef does is pretty straightforward. It uploads your cookbooks to remote machine, resolve dependencies then run chef-solo. All the heavy works are done in remote machine so you don't have to send your entire cookbooks and its dependencies. It also run pretty fast!
Currently Masterchef uses Berkshelf to resolve cookbooks dependencies. If you write your cookbooks dependencies in your cookbook's metadata.rb
, Masterchef will automagically resolve them.
If you don't want to put your dependencies into cookbook's metadata.rb
, you can also put them in workspace/Berksfile.
Provision of a remote machine is done by:
-
Send content of workspace/ to remote machine with generated
attributes.json
from relevant machine configuration in nodes/. -
Run
berks install
to resolve cookbooks dependencies for all cookbooks in workspace/cookbooks/. -
Run
chef-solo
using generatedattributes.json
.
MIT Licence