Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

branch: master
Octocat-spinner-32 bin Normalize whitespace on all files September 26, 2013
Octocat-spinner-32 ci Enable integration tests. October 31, 2013
Octocat-spinner-32 distro update man pages for 11-12 April 04, 2014
Octocat-spinner-32 lib Make OS X service resource work when the plist doesn't exist yet. April 16, 2014
Octocat-spinner-32 spec Make OS X service resource work when the plist doesn't exist yet. April 16, 2014
Octocat-spinner-32 tasks [OC-3564] move core Chef to the repo root \o/ \m/ October 30, 2012
Octocat-spinner-32 .gitattributes [OC-3564] move core Chef to the repo root \o/ \m/ October 30, 2012
Octocat-spinner-32 .gitignore [OC-3564] move README to markdown format October 30, 2012
Octocat-spinner-32 .rspec [OC-3564] move core Chef to the repo root \o/ \m/ October 30, 2012
Octocat-spinner-32 .travis.yml Add Ruby 2.1.0 to travis matrix January 02, 2014
Octocat-spinner-32 .yardopts [OC-3564] move README to markdown format October 30, 2012
Octocat-spinner-32 CHANGELOG.md Doc changes for CHEF-5223 regression fix. April 16, 2014
Octocat-spinner-32 CHEF_MVPS.md Add Chef Client MVPs February 27, 2014
Octocat-spinner-32 CONTRIBUTING.md Opscode->Chef, typos, grammar February 27, 2014
Octocat-spinner-32 CONTRIBUTIONS.md CHEF-4472: release notes April 10, 2014
Octocat-spinner-32 DOC_CHANGES.md Empty UPPER_CASE files for next release April 01, 2014
Octocat-spinner-32 Gemfile Merge branch 'CHEF-4946' of github.com:criteo/chef into contributions… March 12, 2014
Octocat-spinner-32 LICENSE Chef should have the license and notice at the top October 08, 2008
Octocat-spinner-32 NOTICE changed Ohai -> Chef in NOTICE July 17, 2013
Octocat-spinner-32 README.md Opscode->Chef, typos, grammar February 27, 2014
Octocat-spinner-32 RELEASE_NOTES.md Doc changes for CHEF-5223 regression fix. April 16, 2014
Octocat-spinner-32 Rakefile Remove `rake gem` dep on deleted tasks February 04, 2014
Octocat-spinner-32 chef-x86-mingw32.gemspec Resolve merge conflict with mixlib-shellout change January 02, 2014
Octocat-spinner-32 chef.gemspec Use the released versions of mixlib-shellout and ohai. April 11, 2014
README.md

Chef

Want to try Chef? Get started with learnchef

Chef is a configuration management tool designed to bring automation to your entire infrastructure.

This README focuses on developers who want to modify Chef source code. If you just want to use Chef, check out these resources:

Installing From Git

NOTE: Unless you have a specific reason to install from source (to try a new feature, contribute a patch, or run chef on an OS for which no package is available), you should head to the installer page to get a prebuilt package.

Prerequisites

Install these via your platform's preferred method (apt, yum, ports, emerge, etc.):

  • git
  • C compiler, header files, etc. On Ubuntu/debian, use the build-essential package.
  • ruby 1.8.7 or later (1.9.3+ recommended)
  • rubygems
  • bundler

Chef Installation

Then get the source and install it:

# Clone this repo
git clone https://github.com/opscode/chef.git

# cd into the source tree
cd chef

# Install dependencies with bundler
bundle install

# Build a gem
rake gem

# Install the gem you just built
gem install pkg/chef-VERSION.gem

Contributing/Development

Before working on the code, if you plan to contribute your changes, you need to read the Chef Contributions document.

You will also need to set up the repository with the appropriate branches. We document the process on the Working with Git page of the Chef wiki.

Once your repository is set up, you can start working on the code. We do use TDD with RSpec, so you'll need to get a development environment running. Follow the above procedure ("Installing from Git") to get your local copy of the source running.

Testing

We use RSpec for unit/spec tests. It is not necessary to start the development environment to run the specs--they are completely standalone.

# Run All the Tests
bundle exec rake spec

# Run a Single Test File
bundle exec rspec spec/PATH/TO/FILE_spec.rb

# Run a Subset of Tests
bundle exec rspec spec/PATH/TO/DIR

License

Chef - A configuration management system

Author: Adam Jacob (adam@opscode.com)
Copyright: Copyright (c) 2008-2014 Chef Software, Inc.
License: Apache License, Version 2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Something went wrong with that request. Please try again.