Skip to main content

Getting started with Puppet - Part 2 - Hello World

This is the second post in the series for getting started with Puppet. We are going to run a really simple Puppet module that is hosted on GitHub.

Tools needed:
Git client (of course)
VM or or anything similar
Puppet client installed (discussed in Part 1)

Step 1: Download the Hello World module

git clone

Step 2: Run the Puppet hello world sample

cd puppetStarter
sudo puppet apply --modulepath . helloWorld/site.pp

This is how we apply a puppet module from the command line directly on the target machine or on your development workstation.

The output will have some information about verifying or compiling along with a message 'Hello World!"

➜  puppetStarter git:(master) sudo puppet apply --modulepath . helloworld/manifests/site.pp
Notice: Compiled catalog for in environment production in 0.05 seconds
Notice: Hello World
Notice: /Stage[main]/Helloworld/Notify[Hello World]/message: defined 'message' as 'Hello World'
Notice: Finished catalog run in 0.04 seconds

➜  puppetStarter git:(master) sudo puppet apply --modulepath . helloworld/manifests/site.pp
Notice: Compiled catalog for in environment production in 0.05 seconds
Notice: Hello World
Notice: /Stage[main]/Helloworld/Notify[Hello World]/message: defined 'message' as 'Hello World'
Notice: Finished catalog run in 0.04 seconds
➜  puppetStarter git:(master) sudo puppet apply --modulepath . helloworld/manifests/site.pp
Notice: Compiled catalog for in environment production in 0.05 seconds
Notice: Hello World
Notice: /Stage[main]/Helloworld/Notify[Hello World]/message: defined 'message' as 'Hello World'
Notice: Finished catalog run in 0.04 seconds
Step 3: Take a look around. 
Observe the folder structure. The module folder is helloWorld. There are other default folders besides manifests inside the module that will be required for advanced topics. Try to understand the code in the init.pp, motd.pp and site.pp. We will dig into it in Part 3 and try to do something more fun.

Popular posts from this blog

A @trello board to get kids excited

My 8 year old just started his summer break. He did so well in school and I am proud of him. He skipped second grade, got into the gold honor roll in every quarter and got a medal for doing that. Last night, I promised to install a new app for him on his iPad mini. I installed Trello and created a board for him while he watched. I showed him how to create cards, add labels to them and move them from To Do, to Doing to Done. I had him create some cards and label them. He could not stop creating cards. I could not convince him to go to bed after that. He created cards for everything he wants to do in the summer and he is not done with creating cards. He even created a card to email a screenshot of his Trello board to his teacher.

Later last night, he was still awake in bed when I checked on him. He told me that he wanted to add three more labels - Math, Science and One-on-One. He wanted a label titled 'One-on-one' for tasks that he wants to do with me and he wants one-on-one att…

A @trello board to get kids excited - continued

This is a continuation of the previous post titled - A trello board to get kids excited. At the time of writing this post, the previous post had 198 page views. I wish people commented. I did get some positive feedback on Twitter. The Trello twitter account re-tweeted my tweet and also sent out a second tweet advertising the page. Thank you very much. I hope a lot of parents and kids benefited and had fun as a result.

Trello people: Idea - How about a 'Trello Kiddo'? Perhaps you could offer that to schools that give iPads for each kid to take home with them. Get them when they are young.

When a kid does something religiously, regularly and feels great about it and can't wait to tell everyone about it, you know you've done well as a parent. We realized that we needed a separate column to keep track of 'Special accomplishments'. Positive reinforcement that you can see with your eyes!

Some parents feel like they haven't done enough for their kids, particularly…

#Git starter cheat sheet

Initialize a local repo Run the following command in the folder where you would like to initialize a git repo.
git init
Get status It is a good practice to frequently run check on status during development. The following command points out the changes between the previous commit and current state of the folder.
git status
Add content To add an untracked file named ‘text.txt’ to the staging area, execute the following command.
git add text.txt
Syntax: git add <filename>
Commit changes To commit changes made to the folder, execute the following command. The message will be used as a commit message to associate this check-in with the message.
git commit –m “Add text.txt to the code base.”
Syntax: git commit –m “<Commit message>”
Add using wild card To add multiple files using a wild card character, execute the following command.
git add ‘*.txt’
Syntax: git add ‘<wildcard_character+string>’
Check history Review commit history using the following command.
git log
Add Remote re…