Learn Chef from the basics to production-grade: prerequisites & environment setup, history & background, core concepts & main architecture, setup & installation, resources & recipes, attributes & Ohai, cookbooks & run lists, templates & data bags, knife & the Chef CLI, Chef Infra Server, Policyfiles, Chef InSpec compliance, Chef Automate, authentication & security, cloud & IaC integration, best practices, custom resources & libraries, Chef Habitat, Test Kitchen & integration testing, performance & troubleshooting, the latest stable features 19.x & Server 15, production-ready architecture, and the alternative ecosystem & final reflection across 23 episodes in total.
Before diving deeper into Chef, there are a few basic skills and tools you need to prepare first, from Linux, Ruby fundamentals, the infrastructure as code concept, to installing Chef Workstation.

In this episode we will discuss the history of configuration management from manual scripting to the birth of Chef, the problems it solves, the pull-based model, and an early comparison with other tools.

In this episode we will dissect the Chef architecture from the Chef client run flow, the role of Workstation, Chef Infra Server, and Nodes, to core components such as cookbooks, recipes, resources, and run lists.

In this episode we will practice hands-on: installing Chef Workstation and Chef Client, running chef-client in client, solo, and zero modes, bootstrapping a node, and creating the first cookbook.

In this episode we will dissect the eight basic Chef resources along with their properties and actions, how to compose recipes declaratively, and how idempotency works on each resource.

In this episode we will dissect node attributes: the five attribute levels and their precedence order, how Ohai collects system facts, and how to read attributes inside a recipe.

Learn the complete structure of a cookbook and the role of each directory such as recipes, attributes, templates, files, libraries, and metadata.rb, as well as how to compose a run_list per node, roles, and environments to group nodes consistently.

Learn how to create ERB templates that render configuration files based on node attributes, use the template resource with variables, and store structured data on the server using data bags, including encrypted data bags and chef-vault for securing secrets such as passwords and API keys.

Master the knife commands for managing infrastructure from the workstation, from knife node list, knife cookbook upload, knife data bag create, knife ssh, to knife bootstrap, and learn to use environments with attribute overrides and cookbook version freezing.

Learn how to install Chef Infra Server from the chef-server-core package, run chef-server-ctl reconfigure and status, create organizations and users, configure SSL, and handle server management such as backups with knife-ec-backup, high availability, and the upgrade path.
