
Configure your machine with the Chef development kit, Atom editor, and source control to begin writing Chef code on the Chef development workstation, using licensed, free tools.
Install the chef development kit on Linux, verify version 1.3+, configure bashrc for proper paths, and install git, ruby, and the atom editor for coding.
Install the Chef Development Kit on macOS, configure your path to include the embedded Ruby, and set up Git and the Atom editor to start coding with Chef.
Learn to write chef recipes that turn infrastructure into code for repeatable, testable deployments across cloud and on-prem. Build a simple hello world chef program and explore resources and attributes.
Explore automated verification with Inspec to validate Chef code outcomes by checking file existence and content, using a hello example, describe blocks, and the spec exec workflow.
Explore how the declarative Chef language expresses the desired system state and lets Chef automatically plan and enforce configuration, using absolute paths, home directory interpolation, and drift prevention.
Learn to perform uninstalls in Chef by explicitly defining what not to do. Use resource-driven deletes on file resources, or explore attribute-driven uninstall concepts for partial state control.
Use Test Kitchen to create sandbox environments that mirror production for safe chef code testing. Run on CentOS seven Linux images, with Docker or cloud options for scalable validation.
Master YAML for test kitchen workflows, including lists, maps, scalars, indentation rules, three hyphens, and formats like multi-line strings and comments.
Validate yaml in atom with a plugin for real-time checks on test kitchen files, and reveal hidden dot kitchen yaml to keep configs error-free.
Explore the test kitchen config file format in yaml, covering the six sections—driver, transport, provision, platforms, verifier, and suites—and how to configure docker-based sandboxes with Dokken.
Explore Test Kitchen by creating and destroying CentOS seven sandbox images, manage lifecycles with kitchen create and destroy, inspect state with kitchen list, log in, and study yaml configuration.
Compare Chef apply and Chef Client for running code in production. Use the log resource to print messages, run in a sandbox, and adjust the log level for chef runs.
Learn about chef-client modes: solo mode using an in-memory chef zero server for rapid recipe development, and client mode for connecting to a remote chef server; always use local mode.
Discover how Ohai collects system information—such as platform, memory, virtualization, and networking—to expose automatic attributes that help Chef detect the current state and devise a desired configuration.
Learn essential chef terminology, including nodes, chef client, and solo mode. Understand how a chef run places a node in the desired state and the new log resource for messages.
Learn to implement a simplified message of the day across infrastructure machines with Chef, informing users and enforcing access policies while preventing manual changes at login.
Package chef code with cookbooks that group components and configurations for infrastructure, distinguishing cookbooks from recipes, and explore their directory structure, including kitchen.yml and the motd cookbook.
Learn test-driven development with Chef as you write inspec tests first, set up a MOTD file, and use test kitchen to verify content and automate deployment.
Apply test-driven development to chef cookbook projects by writing tests, generating and deploying MOTD files, and verifying with kitchen converge and kitchen verify, including an interactive login check.
Learn how Test Kitchen supports ci pipelines with kitchen test and kitchen verify, and how file filters target os versions for cookbook files in the image lifecycle.
Learn how regular expressions search and match patterns in strings, used in chef code, with Ruby syntax options like slash or percent curly braces, escaping, and case sensitivity.
Experiment with motd attributes in a chef cookbook, using chef generate, templates, and ERB to expand node attributes like virtualization system and IP address during a kitchen converge.
Understand how automatic attributes from OGI populate node object during a chef run, and set custom attributes with precedence in the MOTD attributes recipe to customize message of the day.
Explore override precedence in Chef attributes, showing how it can override default values but cannot override automatic attributes from Ohai, with practical MOTD attribute examples.
Learn how attribute driven uninstall works in Chef by moving the message of the day to attributes, setting defaults to blank, and overriding attributes to switch between uninstall and install.
Master chef attributes and the node object in the attributes store, explore attribute precedence, templates with embedded ruby, and attribute driven installs to automate config management.
Describe how readme.md documents a cookbook in Bitbucket and GitHub. Explain crafting the usage section and metadata long description from the readme to guide users.
Learn to install the Engine X package with the package resource, verify installation via a test, and enable the EPL repository with the EPEL release package.
Learn how to use the service resource in Chef to enable and start the Engine X service, then verify its running with kitchen converge and kitchen verify.
Generate a cookbook template and deploy index.html to Engine X web root using a template resource. Verify content with curl, kitchen converge, and kitchen verify in a test driven development.
Expose a sandboxed website to your host with port forwarding using the kitchen driver, then run kitchen converge and kitchen verify to confirm accessibility.
Master the cookbook, file, template, package, and service resources to install and configure software with Chef, including ERB template processing; enable port forwarding to access a basic website.
Explore Inspec, the automated validation language added to Chef after Volcano SEQ’s integration. Write automated tests to verify machines are configured as expected, monitor for failures, and remediate compliance.
Scan a docker node with inspec using a Linux baseline, clone Linux baseline from GitHub, and run a test against a CentOS image; review the inspec pass/fail outputs and controls.
Scan a remote machine via SSH using inspect, with port, username, and key file options, and verify the Linux baseline on a Digital Ocean droplet.
Learn to scan a local machine with inspec against a Linux baseline using a remote node, installing ChefDK and inspec, and running inspec exec.
Learn to format inspect exec output using multiple modes—from the default cli formatter to progress, documentation, and json formats—and understand unit output for ci pipelines.
Learn how Inspec and Chef combine to enforce policy through compliance profiles, a cookbook, and resources like control, describe, audit, and matters across machines using Inspec exec and Inspec shell.
Capture and manage base OS configurations for developer desktops with Packer and Vagrant, automate Chef development workstation setup, and test cookbooks using Test Kitchen on VirtualBox virtualized hosts.
Configure your physical host to run virtual machines by installing VirtualBox, Vagrant, and Packer on Linux or macOS. Verify installations and allocate 4–6 GB of memory for the host.
Spin up and verify a Linux desktop vm using vagrant and virtualbox, manage a desktop box, and test with Test Kitchen for chef desktop automation.
Learn to set up a macOS virtual machine in VirtualBox by building a bootable macOS Sierra image, configuring memory and disk, and testing the boot process on Mac hardware.
Install and configure a macOS base image for automation with Vagrant and VirtualBox, enable automatic login, disable screen saver and updates, set up SSH keys, and prepare for snapshots.
Export and package a Mac OS 1012 desktop virtual machine into a Vagrant-compatible box using Packer, Vagrant, and VirtualBox, configuring VM settings like memory, VRAM, and shared folders.
Create a Packard Tool box and snapshot a VM for vagrant and test kitchen to form sandbox environments, including A to 1604 and macOS Sierra desktops, noting image creation effort.
Automate your development workstation with chef solo, configuring a reproducible environment to wipe, restore, onboard new employees, and drive developer productivity through devops automation.
Install and configure the chef development kit, Git, and the Adam text editor with Chef, then orchestrate them via a wrapper cookbook called Chef Workstation to create modular cookbooks.
Create and configure the chef workstation cookbook and its run list, transitioning from docker to vagrant-based test kitchen for desktop virtualization with Ubuntu 1604 desktop and Mac OS 1012 desktop.
Learn to manage dependencies with Bookshelf, create dependent cookbooks (get, atom, Chef de Kay), configure kitchen yaml for platforms, and wire a wrapper cookbook with include recipe.
Explore how to use the Bookshelf dependency manager in Chef, wire up include statements with a depend statement, and pin cookbook versions in metadata.rb using the Twiddle Walker (pessimistic operator).
Learn how to perform Chef runs locally by loading dependencies with Berks, configuring cookbook paths, and running Chef client in local mode to test cookbooks on your machine.
learn to build a multi-platform git cookbook with chef, running test kitchen converge and verify on Ubuntu and Mac OS, using apt and Build Essential cookbooks.
Manage Atom cookbook testing and deployment by cleaning up Vagrant and VirtualBox kitchens, then run kitchen converge and verify across Ubuntu and Mac OS with platform-specific tests.
Converge the final ChefDK cookbook, adding a rescue-based error handler for ChefDK version checks, and showcasing remote file download and dx/dmg installation on Debian and Mac.
Run the capstone cookbook in a test-driven workflow to validate compliance on local workstation profiles, and perform chef runs and bootstrap steps.
Welcome to this course. Chef is a platform for the DevOps workflow, and is used to automate and manage it all–infrastructure, run-time environments and applications. The most enduring and transformative companies use Chef to become fast, efficient, and innovative software-driven organizations. Creating, maintaining, and upgrading a scalable infrastructure requires significant effort and resources. Time spent on repetitive daily tasks can consume a big chunk of an IT/system engineer’s bandwidth, and using automation tools to manage infrastructure can drastically improve efficiency and free up your time. Chef aims to solve automation across the enterprise, and across functional roles, to provide an environment where we can build, deploy, and manage any software, anywhere.
In this course, you'll learn:
Understand the Chef ecosystem and its associated components
Manage and scale your cloud infrastructure by automating configuration management
Install all the components of Chef, including troubleshooting instructions
Model your infrastructure using Chef
Make infrastructure configurations testable, portable, and auditable with Chef
Build code to configure and apply patches in any environment, create secure and compliant applications, and modernize legacy applications without replacing them
Test your cookbooks with Test Kitchen
Learn How to Create Custom Ohai
Create recipes to provision, harden, and maintain the configuration state of servers in any environment
Discover how Chef InSpec is used to test and audit your applications and infrastructure
Build applications to run anywhere and manage them throughout their lifecycle using Chef Habitat
Create a filterable, auditable dashboard and use it to visualize real-time data and server metrics and scan traditional servers, VMs, and cloud environments
Explore various aspects of the Chef API
Extend the functionalities of Chef
Provide dashboard analytics for infrastructure automation with Chef Automate