Module 1: Introduction to DevOps – Positioning Chef in a CI/CD pipeline
- DevOps Culture
- DevOps Tools overview
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
- Delivery vs. Deployment
Module 2: What is Chef
- What is Chef?
- Why use Chef?
Module 3: Chef Core Components
- Chef Architecture
- ChefDK vs. Chef Workstation
- Overview of Chef Server, Nodes and Supermarket
Hands-on Lab: Installing Chef Workstation
Module 4: Chef Core Concepts
- Resources
- Recipes
- Cookbooks
- Run Lists
- Configuration Drift
Hands-on Lab: Create Simple Recipes
Hands-on Lab: Create Simple Cookbooks
Module 5: Ohai
- Ohai Overview
- Ohai Configuration
Hands-on Lab: Working with Ohai
Module 6: Chef Server
- Chef Server Overview
- Chef Server Components
- Dimensioning of the Chef Server
- Installation of the Chef Server
The chef-client run
Hands-on Lab: Chef Server Installation
Hands-on Lab: Chef Repo
Module 7: Knife & Bootstrapping a node
- What is Knife
- Bootstrapping a node wit knife
- Knife common options
Hands-on Lab: Bootstrapping
Module 8: Cookbooks & Run-lists in the context of a Chef Server
Hands-on Lab: Run Lists
Module 9: Working with Templates
- How to work with Templates – examples
Hands-on Lab: Working with Templates
Module 10: Attributes
- Attributes Overview
- Types of Attributes
- How chef-client uses attributes
Hands-on Lab: Working with Attributes
Module 11: Using Libraries
- Libraries overview
- Libraries use cases
Hands-on Lab: Libraries
Module 12: The Chef Test Kitchen – a safe space for trial and error
- What is Test Kitchen?
- Kitchen Configuration
- Kitchen use cases
Hands-on Lab: Kitchen
Module 13: Kitchen “InSpec”
- What is InSpec?
- InSpec profiles
- Making sure your recipes hit home
Hands-on Lab: Kitchen InSpec