Books & Videos

Table of Contents

Chapter: Introduction


01m 51s

Why Chef?

02m 3s

About The Author

01m 42s

Chapter: Getting Started With The ChefDK

What Is A Chef Development Workstation?

02m 28s

Linux Setup - Installing The ChefDK And Git Source Control

06m 23s

Linux Setup - Installing Atom

01m 40s

Macos Setup - Installing The ChefDK

09m 23s

Macos Setup - Installing Git

00m 54s

Macos Setup - Installing Atom

00m 59s

Chapter: Your First Chef Program

Why Model Your Infrastructure As Code?

00m 54s

Hello World

04m 8s

Examining Hello.Rb

01m 46s

Linting Code With Cookstyle

01m 45s

Running Cookstyle Within Atom

01m 55s

Automated Verification With Inspec

05m 6s

Resilient Infrastructure With Chef

07m 0s

Handling Uninstalls

07m 51s

Wrapping Up

01m 2s

Chapter: Getting Started With Test Kitchen

Why Use Test Kitchen?

01m 11s

Test Kitchen And Docker

00m 58s

What If My Machine Can't Run Docker?

01m 21s

What If I Want To Target Macos?

01m 3s

Installing Docker On Linux

01m 41s

Installing Docker On Macos

01m 27s

Docker And Digitalocean

04m 22s

Introducing Test Kitchen

07m 16s

YAML Basics

09m 12s

Validating YAML In Atom

02m 1s

Test Kitchen Configuration File Format Overview

09m 42s

Wrapping Up

01m 21s

Chapter: How Chef Discovers Information About A System

Why Does Chef Probe Machine Configuration?

01m 11s

What Is A Node?

01m 47s

Chef-Client In Production

06m 7s

Your First Chef-Client Run

05m 21s

Chef-Client Modes

01m 44s

What Is Ohai?

03m 52s

Wrapping Up

01m 8s

Chapter: Your First Cookbook - Message Of The Day

Why Automate Message Of The Day?

01m 10s


03m 37s

Your First Chef Run In Test Kitchen

05m 51s

Test First Coding - Part 1

15m 43s

Test First Coding - Part 2

08m 0s

Kitchen Test

01m 35s

Why Files/Default?

01m 32s

Introduction To Regular Expressions

06m 50s

Cookbook Generators

10m 53s

Generator Issues With Copyright Notices

04m 15s

Wrapping Up

03m 43s

Chapter: Managing Settings With Chef

Why Does Chef Have An Attribute Store?

01m 4s

Accessing And Storing Values

01m 32s

Motd_Attributes Cookbook

07m 4s

Automatic Values

00m 58s

Setting Attributes In Recipes

02m 58s

Setting Values In Attributes

03m 17s

Basic Attribute Priority - Automatic Attributes Rule Them All

02m 26s

Values In Recipes Override Attributes

01m 8s

Last-In Wins At The Same Precedence Level

00m 51s

What If I Have More Than One Attribute File?

04m 32s

Composed Attributes

08m 1s


02m 58s

Override Precedence

04m 53s

Attribute Driven Uninstalls

14m 7s

Wrapping Up

03m 42s

Chapter: Cookbook Authoring And Use

Why Automate Web Server Configuration?

02m 55s

Four Basic Resources

01m 28s

Plan For Development

01m 26s

Cookbook Documentation And Metadata Are Important

11m 35s

Package Resource

06m 16s

Actions Have Defaults

01m 22s

Service Resource

03m 41s

Add Content To The Website

04m 46s

Verifying NGINX On Your Host

04m 13s

Wrapping Up

02m 27s

Chapter: Cookbook Versioning

Why Versioning?

01m 40s

Versioning The NGINX Cookbook And Communicating Change

06m 37s

Introduction To Git

09m 3s

Sharing Source On Github

06m 43s

Cookbook Pipelines With Travis CI

16m 13s

Managing NGINX.Conf - Breaking Change

17m 10s

Zero Downtime - Enhancement

08m 44s

Wrapping Up

03m 0s

Chapter: Automated Validation With Inspec

Why Automate Validation?

01m 32s

Scanning A Docker Node With A Hardening Profile

07m 42s

Scanning A Node With A Hardening Profile Via SSH

03m 9s

Scanning A Local Machine With Inspec

02m 14s

Formatting Modes

03m 22s

Control Resource

03m 40s

Describe Block

02m 55s

Its Form

00m 48s

Wrapping Up

01m 31s

Chapter: Compliance Profile Authoring And Use

Why Translate Compliance Policy Into Code?

02m 21s

Your First Compliance Profile

01m 2s

Creating The Initial Structure And Metadata

04m 52s

Make Tests Fail As You Are Writing Them

03m 19s

Introducing Match

02m 0s

Variable Regular Expressions

03m 28s

Adding Ruby Code To A Control

14m 15s

Packaging Ruby Code In A Custom Matcher

09m 52s

Wrapping Up

00m 44s

Chapter: Compliance Profiles In Cookbooks

Why Use Inspec With Test Kitchen?

01m 15s

Remote Inspec Profiles

03m 3s

Bringing Node Into Compliance Guided By Tests

02m 35s

Wrapping Up

01m 3s

Chapter: Capturing Machine Configurations With HashiCorp Packer

Automating Config Of The OS Itself

02m 50s

Host Versus Guest

00m 53s

Host Setup

05m 38s

Creating A Linux Desktop Virtual Machine

03m 23s

Installing Ubuntu 16.04 Desktop

11m 50s

Capturing The Linux Desktop VM With Packer

13m 15s

Verifying The Linux Desktop VM

06m 38s

Creating A Macos Virtual Machine

09m 24s

Installing Macos

11m 39s

Capturing The Macos VM With Packer

11m 3s

Verifying The Macos VM

06m 11s

Wrapping Up

01m 9s

Chapter: Real-World Example: Manage Your Development Environment With Chef

Why Use Chef To Chef Up Your Chef?

01m 41s

Planning The Cookbooks

02m 49s

Creating The Chef_Workstation Wrapper Cookbook

09m 30s

Berkshelf And Dependency Management

08m 21s

Introducing The Depends Statement And Semantic Versioning

08m 44s

Performing Chef Runs Locally

11m 39s

Git Cookbook

16m 12s

Atom Cookbook

12m 25s

ChefDK Cookbook

21m 42s

Final Local Chef Run

03m 11s

Wrapping Up

02m 10s

Chapter: Troubleshooting Chef

Troubleshooting Chef

00m 48s

Introducing Chef-Shell

05m 46s

Interactive Debugging with Chef-Shell

10m 35s


04m 7s

Chapter: Where To Go Next

Wrap Up

03m 49s