Introduction to Puppet Roles and Profiles
4.2 (123 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,166 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Introduction to Puppet Roles and Profiles to your Wishlist.

Add to Wishlist

Introduction to Puppet Roles and Profiles

Learn what Roles and Profiles are and put them to good use!
4.2 (123 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,166 students enrolled
Created by Ger Apeldoorn
Last updated 4/2017
Price: Free
  • 1.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Design and use Roles and Profiles
  • Use Hiera to customize component modules
  • Understand Hiera basics
  • Do Node classification (assigning a role to machines) in 3 different ways
View Curriculum
  • Fundamental Puppet knowledge

This course is created for people that are starting out with Puppet and want to familiarize themselves with the Roles and Profiles design pattern.

If you want to get a clear explanation of the theory behind Roles and Profiles, supported with practical examples then this is the course for you!

We will cover creating a base profile to manage to generic settings your infrastructure and we will cover a design pattern to handle different platforms in our base profile. Additionally, we will use Hieradata in combination with Profiles and class parameters and employ create_resources to dynamically manage resources using data retrieved from Hiera. 

Who is the target audience?
  • People that want to use Roles and Profiles in their Puppet infrastructure
Compare to Other Puppet Software Courses
Curriculum For This Course
24 Lectures
Introduction to this course
6 Lectures 15:01

Introduction to the Roles & Profiles course.


A thank you

Why do we need Roles and Profiles?

Why Roles and Profiles?

A look at component modules.

Different types of modules

How can we find the great modules on

  • Puppet Supported
  • Release date (Still actively maintained?)
  • Documentation
  • Voxpupuli
  • Quality Score/Community rating
  • Look at the code on Github
Selecting great modules on the Puppetforge

Don't reinvent the wheel! Use modules from the Forge. Here's why!

Why use Puppet modules?
Role and Profile Theory
2 Lectures 03:43

Roles and Profiles explained

Theory of Roles and Profiles: Overview

Configuration that is managed for all our machines is included in the profile::base class.

Settings that apply to all machines: profile::base
Setting up roles and profiles
4 Lectures 12:35

Creating the modules and setting up a profile::base.

Creating the Role and Profile modules

Installing a Forge module

Downloading a component module

Testing our profile::base on a Vagrant box.

Testing our profile::base

We will manage a couple of system users with our profile::base

Expanding profile::base -> Managing some system users
Making it Rock with Hiera
4 Lectures 26:06

Get flexible by separating data and code!

Quick introduction to Hiera

Step-by-step walkthrough of migrating from fixed resources to hiera-based resources.

Managing the system users with Hiera using create_resources

Adding host- or role-specific users with Hiera.

Looking at the hierarcy used in hiera.yaml

create_resources is very common in profiles!
profile::base with multiple platforms
1 Lecture 05:29
Multiplatform profile::base
Setting up a role and profile for a webserver
4 Lectures 12:49

What will we setup in this section?

Overview of the pattern

Setting up the lamp profile class and the corresponding role.

Create the profile::lamp and the role::web classes

We need to do some node classification to test our new role.

Add custom fact to test our new web role

Setting up the correct keys in our hieradata so they will be used by the create_resources function.

Using create_resources to manage apache::vhost and mysql database resources.
Node Classification with Roles and Profiles
1 Lecture 06:56

How can we use node classfication?

  • Client based
    • Custom fact
  • Server based
    • Hiera
    • Web interface
Node classification: There is more than one way to do it!
The End - Fini - Einde - Ende
2 Lectures 07:30

Let's see what we have learned today. A quick summary and thank you!

Course Summary

Bonus: Get a discount on my full infrastructure course!
About the Instructor
Ger Apeldoorn
4.3 Average rating
287 Reviews
3,483 Students
2 Courses
Freelance Puppet consultant/trainer

Ger is a Freelance Puppet consultant and teaches the official courses for Puppet in the Netherlands.

He just loves to explain stuff, both in the classroom and over the internet.

As a consultant, he has helped many companies to implement Puppet, both Open Source and Puppet Enterprise. Ger has done many talks about Puppet Infrastructure related topics at PuppetConf, PuppetCamps, FOSDEM and other conferences.