Introduction to Puppet
Goal : Give a brief overview of Puppet, the architecture and Infrastructure of
Puppet and how it works.
Objectives : Upon completing this module, you should be able to: What is Puppet,
Infrastructure as Code, Puppet Architecture, How Puppet Works, Puppet terminology,
Installing Puppet.
Topics : Why Puppet, What is Puppet, Puppet Environment, Puppet Architecture, How
Puppet Works, Puppet Configuration, Puppet Terminology, Installing Puppet Server
and Client.
Practicals Covered : Installing Puppet Server and Client.
Puppet Ruby Domain-Specific Language (DSL)
Goal : Introduction to the Puppet Ruby DSL and other Puppet Terms and
Terminologies.
Objectives : Introduction to the Ruby DSL and Language Constructs, Resources,
Variables and Facts, Resource Relationships, Classes and Modules, Classification,
Other Puppet Terms and Terminologies.
Topics : Puppet Ruby DSL, Puppet Language Constructs, Defines and Variables,
Resource Types, Variable Rules and Names, Modules and Module Tools, Chaining
Arrows, Catalog, Environments.
Building Complex Configurations
Goal : Demonstrate the Inheritance, Data types, Data Separation and Hiera.
Objectives : At the end of this module, you should be able to: Parametrized
Classes, Inheritance, Data Separation using Hiera, Data Separation using Templates,
Classification using Parameterized classes and ADB.
Topics : Classes, Puppet Data types, Introduction to Hiera, Data Separation.
Design Patterns
Goal : Explain the Puppet Design, Roles and Modelling and the Puppet Abstraction
and create resource programmatically.
Objectives : At the end of this module, you should be able to: Roles and Profiles
Design Pattern, Modelling Repeatable portions using Defined Resource Types, Create
Resources Programmatically, Anchor Patterns and its use vs Contain(), Modularity
and Compatibility.
Topics : Puppet Design, Roles and Profiles, Role Modelling, Puppet Abstraction,
Resource Containment and Anchor Pattern
Automation and Reporting
Goal : Describe the Custom Facts, Mcollective, and the Puppet Development Workflow.
Objectives : At the end of this module, you should be able to: Use Custom Facts to
expose Node Information, Development Workflow, Complex Hiera data source
Hierarchies, Using MCollective to automate Infrastructure Orchestration, Integrate
Puppet with External tools via Hiera, report processors.
Topics : Custom Facts, Fact precedence, Puppet Development Workflow, Invocation on
Client, Mcollective, Mcollective Client and Server Configuration, Data Caching,
Processing Hooks, Agent Configuration and Activation.
Scaling Infrastructure
Goal : Describe the r10k and introduction to Designing Scalable Architecture and
Scaling ActiveMQ Messaging Bus.
 Objectives : At the end of this module, you should be able to: Estimating the
number of nodes to be enabled, Introduction to r10K, Dynamic provisioning
strategies, Introduction to Designing Scalable Architecture, Introduction to
scaling ActiveMQ Messaging bus, Managing Puppet Effectively
Topics : Introduction to r10k, Puppet Files and Labs, R10k Command Reference,
Scalable Puppet Architecture, Foreman and Puppet Together, ActiveMQ Architecture
Practicals Covered : Install Puppetlabs, Configure r10k.