Welcome to Chef Fundamentals
  • Chef Fundamentals - Is this class right for me?
  • Course Roadmap
  • Getting Started: Configuring Your Development Environment
  • Exercise: Install the ChefDK
  • Setup: Configure Your Lab Environment with Vagrant and Virtualbox
  • Bonus Setup: Configure Your Lab Environment with Amazon Web Services
  • Bonus Setup: Configure Your Lab Environment with Google Compute Engine
  • Bonus Setup: Configure Your Lab Environment with Microsoft Azure
Chef and Configuration Management
  • What is Configuration Management?
  • Infrastructure as Code
  • Exercise: Your First Chef Recipe
  • How Chef Thinks About System Components
Resources: Chef's Basic Building Blocks
  • Overview: Chef Resources
  • Exploring System Resources
  • Convergence and Desired State
  • Exercise: Create a Workstation Setup Recipe
  • Organizing Resources with Recipes
  • Test Your Knowledge About Resources and Recipes
Cookbooks
  • Overview: Cookbooks
  • Organizing Recipes with Cookbooks
  • Cookbook Components
  • Revision Control with Git
  • Exercise: Deploy an Apache Webserver
  • Cookbooks
The chef-client
  • Overview: The chef-client run
  • Applying Recipes and Cookbooks
  • The include_recipe method
  • Exercise: Run the chef-client
  • chef-client
Ohai
  • Overview: Taking System Inventory
  • An Object Called 'Node'
  • Accessing Node Attibutes
  • Exercise: Add Node Details to the Web Application
  • Ohai
Templates
  • Overview: Using Template Resources
  • Why Use Templates?
  • Understanding Embedded Ruby
  • Adding Templates to Recipes
  • Exercise: Refactor the Web Application with a Template
  • Templates
Other Common Resources
  • Overview: Other Common Resources
  • cookbook_file
  • remote_file
  • execute
  • user and group
  • sending and receiving notifications
  • Common Resources
Troubleshooting and Bonus Content
  • Overview: Debugging, Linting, and Testing
  • Explore the ChefDK
  • Your Toolkit
  • The Troubleshooting Process
  • Demo: Breaking Things
  • Bonus: Intro to Test Kitchen
  • Bonus: Intro to ChefSpec
  • Testing and the ChefDK
The Chef Server
  • Overview: Interfacing with a Chef Server
  • Why use a Chef Server?
  • Exercise: Getting Started with Hosted Chef
  • Exercise: Uploading Cookbooks
  • Exercise: Reconfigure Your Vagrant Environment
  • Exercise: Bootstrap your Web Server
  • The Chef Server
Community Cookbooks
  • Overview: Custom Cookbooks and the Chef Supermarket
  • Exploring the Supermarket
  • Create a Wrapper Cookbook
  • Adding Webserver Members
  • Managing Cookbooks with Berkshelf
  • Exercise: Deploy a Load Balancer
  • Community Cookbooks
Managing Nodes
  • Overview: Going Full-Scale
  • Adding Nodes to your Organization
  • Exercise: Add a Member to the Load Balancer
  • Demo: Verifying Node Data with Knife
  • Bonus: Run the chef-client on a Schedule
  • Managing Multiple Nodes
Roles
  • Overview: Managing run-lists
  • Describing run-lists with Roles
  • Demo: Methods for Creating and Assigning Roles
  • Exercise: Create the load-balancer Role
  • Bonus: Converge Using the 'knife ssh' Command
  • Roles
Search
  • Overview: Indexing and Search
  • Exploring Chef Server Indices
  • Running Searches with knife
  • Demo: Refactor for Dynamic Load Balancing
  • Exercise: Testing the Load Balancer