Skip to content

Instantly share code, notes, and snippets.

@doitian
Created December 20, 2011 11:47
Show Gist options
  • Star 29 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save doitian/1501318 to your computer and use it in GitHub Desktop.
Save doitian/1501318 to your computer and use it in GitHub Desktop.
Configuration files for chef-solo and knife, so they all use directories inside the chef repo, instead of default global pathes such as /etc, /var
log_level :info
log_location STDOUT
node_name 'solo'
client_key File.expand_path('../solo.pem', __FILE__)
cache_type 'BasicFile'
cache_options( :path => File.expand_path('../checksums', __FILE__))
cookbook_path [ File.expand_path('../../cookbooks', __FILE__) ]
You can generate this file using `ssh-keygen -f .chef/solo.pem`. It is really not used but must be here.
node_name 'solo'
file_cache_path File.expand_path('../cache', __FILE__)
file_backup_path File.expand_path('../backup', __FILE__)
cookbook_path File.expand_path('../cookbooks', __FILE__)
role_path File.expand_path('../roles', __FILE__)
@doitian
Copy link
Author

doitian commented Dec 20, 2011

After check out chef-repo and installed gem chef. The default pathes used by chef-solo and knife are in some global locations, such as /etc, /var. This gist demonstrats how to put all configuration files, data files and cache files just inside chef repo.

  1. Put solo.rb in top directory of chef repo. Run chef-solo using option -c
chef-solo -c solo.rb
  1. Put knife.rb into subdirectory .chef (create it if it is not there).
  2. Genreate a private key as .chef/sola.pem

@thbar
Copy link

thbar commented Feb 2, 2012

Thanks for sharing this, appreciated!

@MasseGuillaume
Copy link

glad I found this opscode documentation is confusing. They really want you to configure chef hosted or chef server !

@MasseGuillaume
Copy link

you should also add

data_bag_path File.expand_path('../data_bags', __FILE__)

it's really helpfull with https://github.com/thbishop/knife-solo_data_bag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment