Chef is an open source tool for systems management. See http://community.opscode.com/ for more details. The openSUSE Cloud project component Crowbar relies on Chef to manage its systems.
We at openSUSE provide the necessary packages in the openSUSE Build Service to install Chef on openSUSE directly from the repository.
The Chef project setup is as follows:
- systemsmanagement:chef:10 holds the stable packages of Chef 10. They are copypac'd from systemsmanagement:chef:master
- systemsmanagement:chef:10:staging is for staging of Chef 10 specific changes. It contains branched packages from systemsmanagement:chef:10
- systemsmanagement:chef:master is the development project for the latest Chef version available for openSUSE We work heavily on bringing Chef 11 to openSUSE Factory, so development of the erlang-based core Chef packages takes place in devel:languages:erlang
Get in contact
The openSUSE Cloud project makes use of Chef, so most Chef developers are available on their commuication channels. If you want to follow or discuss development and Chef related topics or need help, you can do that here:
- email@example.com - Discussion about openSUSE in the cloud.
Subscribe - Unsubscribe - Help - Archives
We also have an IRC channel on Freenode: #opensuse-cloud.
Package development is a community development, feel free to join us!
The software dependencies are provided by the obs repositories. After installing the rubygem-chef or rubygem-chef-server packages via zypper, the steps to configure Chef are described here: http://wiki.opscode.com/display/chef/Installing+Chef+Server+Manually
Want to take part in the development process?
If you want to commit changes to the systemsmanagement:chef project, just branch the package you want to work on. If the change is intended for the Chef 10 packages, you should branch from the :staging project, If it is intended for the latest Chef version, branch from :master. With a submitrequest you can bring your contribution back to the project.
Test your cookbooks with Chef Solo
For an easy setup to test Chef cookbooks you can use Chef Solo, a way to use Chef without a Chef Server. To use Chef Solo, you only need to install a the package rubygem-chef on your test system from the systemsmanagement:chef:10 or systemsmanagement:chef:master repository and run Chef Solo with
chef-solo -N $HOSTNAME
$HOSTNAME is the hostname of the test system. If you create the file
/etc/chef with the line
node_name "$HOSTNAME" you can skip the
All cookbooks that are stored locally under
/var/chef/cookbooks will be applied to the node. If your cookbooks rely on attributes provided by the environment, you have to add them manually on the Chef Solo system.
More information about a Chef Solo setup can be found here: