Opscode Chef Fundamentals training materials
Pull request Compare This branch is 6 commits behind chef-boneyard:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Welcome to Chef Fundamentals. This is the source training material repository for the class. The materials themselves are written in plain text "Markdown" format, and presented using the "ShowOff" Ruby-based presentation application.

If you're seeing this at http://localhost:9090, you need to run the showoff command from the slides directory.



  • Ruby 1.8.7+
  • RubyGems 1.3.7+
  • Rake
  • libxml2 and libxslt development headers (e.g., libxml2-dev and libxslt-dev on Debian/Ubuntu).
gem install bundler
bundle install
rake present # runs bundle exec showoff serve in the slides dir

Depending on how your local system's Ruby was installed, you may need to use sudo to run gem install and bundle install. You may also need to use bundle exec showoff serve in the slides directory to run the presentation, though the rake task should handle this already.

Two URLs are available:

When presenting the materials as an instructor, use the "presenter" view. This will also pop up a second browser window that will advance with the presenter window. To move forward and back, use the arrow keys. Down/Right go forward, Up/Left go backward. Spacebar will also advance slides forward.

Installed Gems

The source materials in the slides directory are set up as a showoff project. As such, the showoff gem is required. In order to generate PDFs with showoff, the pdfkit gem is installed.

Also, the instructor lab setup will use Chef and the Knife EC2 plugin, so those gems are included as well.

Do not commit Gemfile.lock to the repository.

Note The current release of ShowOff doesn't include some pull requests adding features that we liked, so the showoff gem is installed from a separate repository.

Slides Directory

Most of the action happens in the slides directory.


The slides/Rakefile has a task to set up the directory and an initial 01_slide.md file for the specified section.

rake mksection SECTION=just-enough-ruby-for-chef
** Creating section just-enough-ruby-for-chef **
- populating 01_slide.md

This does not add the section to showoff.json. When contributing a new section, do not add it to the showoff.json file, as that should be reviewed before modifying the base course for everyone.

Slide Style Guide

This is spartan and will be embellished.

  • Create sections as directories.
  • Use PNGs for images.
  • Directory names should be lower case words as a title, "getting-started"
  • Each directory should have a 01_slide.md, multiple sections may be broken up later.

Guides Directory

See the instructor-setup.md guide in the guides directory for information on how to set up the lab environments for students to use in the hands on portion of the course.


http://daringfireball.net/projects/markdown/syntax https://github.com/schacon/showoff


See CONTRIBUTING for information on how you can contribute changes to these materials.

License and Authors

See LICENSE for licensing of these materials and how you may use them.