Skip to end of metadata
Go to start of metadata



This guide will explain how to setup your workstation for Cookbook development and Chef infrastructure management with Knife.


So what's the difference between a workstation and a node?

A workstation manages Chef
A Node is managed by Chef

Your workstation can be set up as a client of the chef-server just like managed nodes, but you will mainly be invoking commands and uploading Roles, Cookbooks and other Chef artifacts to the server.

Chef itself is written in Ruby, as are Cookbooks, Knife plugins, and Chef Exception and Report Handlers. You don't have to be a Ruby expert to be an effective Chef Cook, but as you dive into Chef you will find yourself embracing Chef's Ruby roots.

The operating system specific guides found below explain how to:

  1. Install Ruby and Chef on your workstation,
  2. Install git on your workstation, and
  3. Create and configure a chef repository on your workstation


System Requirements


Chef-client is supported on the following platforms

  • Ubuntu (10.04, 10.10, 11.04, 11.10)
  • Debian (5.0, 6.0)
  • RHEL & CentOS (5.6+, 6.x)
  • Fedora 10+
  • Mac OS X (10.4, 10.5, 10.6, 10.7)
  • Windows 7
  • Windows Server 2003 R2, 2008 R2

Additionally, chef-client is known to run on the following platforms

  • Ubuntu (6.06, 8.04-9.10)
  • RHEL & CentOS (5.x)
  • Gentoo (11.1,11.2)
  • FreeBSD (7.1)
  • OpenBSD (4.4)
  • OpenSolaris (2008.11)
  • Solaris 5.10 (u6)
  • SuSE (11.x)
  • Windows Vista


The Components of a Chef Workstation

Ruby and Chef

As mentioned above, Chef is written in Ruby. A Chef Workstation must have ruby installed. On Unix based platforms (Mac OS X, Ubuntu, CentOS, Debian etc.) we will be using packages provided either by the distribution's repository or from well-known 3rd party repositories. On the Windows platform we will install Ruby 1.9 with the RubyInstaller provided by the Ruby community. We will also install the Ruby Development Kit to allow the native extensions of certain gems to compile correctly.

Rubygems will be installed from source on Unix-like platforms and via the RubyInstallerChef on windows. Chef will be installed using Rubygems.

Git (optional)

Git is a distributed version control system. The Git project describes itself best:

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.

You don't have to use Git to effectively use Chef, but Git is used heavily by the Chef community as a whole and the larger Ruby development community.

A Chef Repository

A Chef Repository is a folder that holds your configuration files, cookbooks, and the other files that drive your infrastructure's configuration. Most of the work you do will be from within a chef repository. We recommend using the Git version control system to effectively manage your chef repository.

Select a Guide

And with that we are ready to go. Please select the appropriate guide for your platform and happy cooking!







Installation


Installing Chef Server



Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.