
Explore puppet, the open source configuration management tool, and learn to describe, enforce, and modernize your apps and infrastructure with a declarative language across data centers and clouds.
Learn puppet from big picture to details, applying best practices to define infrastructure as code and maintain systems in the desired state using puppet forge modules and get hub repositories.
Learn how puppet models the desired state of infrastructure with a simple language and abstraction through resources, modules, profiles, and roles—cross-platform configuration management.
Set up vagrant with puppet on ubuntu 22.04, exploring virtualbox, vmware fusion, utm, and cloud options, then master puppet basics via command line, resources, and facts.
Define the final desired state with puppet resources, ensuring idempotency and avoiding scripting-style steps. Explore resource types, file syntax, and before-based resource ordering to prevent conflicts.
Apply changes with puppet by using puppet resource package and puppet apply to modify system state, view catalogs, and understand how inline code translates to the desired configuration.
Learn to write Puppet code in a base file, install vim, and implement idempotent configurations that create a user, set up ssh, and manage keys.
Explore puppet’s immutable variables, conditionals, and data types, and learn how facts compile into catalogs using interpolation, arrays, and case or selector logic.
Explore how Puppet classes organize code, using class definitions, parameters, and include declarations to apply blocks across nodes. Learn scope, inheritance basics, and params class to tailor operating system settings.
Learn puppet facts and the shift from factor to the structured facts hash, accessing operating system version, node data, and Hiera lookups.
Explore creating custom puppet resource types and defined types to reduce duplication, improve readability, and manage complex configurations like nginx with templates and Erb or EPP templates.
Explore puppet forge modules, how to package code, and evaluate module quality using badges like supported, partner, and approved, with examples and search tips.
Explore using the Puppet Labs Apache module from the forge, install it with Code Manager or Bolt, manage dependencies like standard lib and concat, and deploy a local Apache server.
Discover how to customize the Apache module with parameters, manage vhosts, and deploy a hello world page using puppet apply, while learning the roles and profiles pattern.
Create a Puppet module by organizing directories and a simple init class, include it in site, then scaffold a profile module with PDK and define base and website classes.
Discover how bolt, a standalone open source tool from Puppet, runs commands on remote nodes via ssh or winrm on demand, in parallel, and coordinates across nodes with plans.
Master Hiera to perform hierarchical lookups in Puppet, separating data from code with layered defaults, environments, and node-specific overrides while merging layers via lookup functions using YAML.
Learn to deploy puppet code to multiple nodes with bolt in a vagrant setup. Configure inventory, node definitions, and roles, then apply across all targets.
Contrast Puppet server pull model with Bolt’s push workflow, set up the Puppet server service, and explore centralized logging, security benefits, and how to apply code to nodes.
Set up puppet board to monitor puppet db using a git repo as a module source, configure dependencies, and customize authentication rules to view nodes, facts, and puppet db queries.
Explore next steps for learning Puppet through official docs and code examples. Connect with the Puppet community and Forge, and explore Bolt, Hiera, and the control repo.
Puppet is an open-source software configuration management tool. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration.
Puppet gives you an automatic way to inspect, deliver, operate and future-proof all of your software, no matter where it runs. With the Puppet approach, you know what you have so you can control and enforce consistency across it, secure it and keep it compliant, all the while modernizing it as business needs dictate. You define what you want your apps and infrastructure to look like using a common easy-to-read language. From there you can share, test and enforce the changes you want to make across your data center and cloud platforms. And at every step of the way, you have the visibility and reporting you need to make decisions and prove compliance.
In this course, you will learn the latest best practices for using Puppet in a real-world environment.
You'll get up and running with Puppet where you'll get started quickly by using existing Puppet modules written and supported by the community. As you progress through the course, you can learn the details of how Puppet works and find out how to write your own Puppet code, including a simple module that can be shared with other IT pros on the Puppet Forge.