SlideShare a Scribd company logo
Tuesday, February 26, 13
About Me




Tuesday, February 26, 13

Ryan was a RedHat sysadmin for Penn State before joining Puppet Labs
as a professional services engineer. Now is product owner for the Forge.
Tuesday, February 26, 13

The Puppet Forge is a community driven web service for contributing and finding Puppet
modules.
Tuesday, February 26, 13
Tuesday, February 26, 13

Word cloud made from forge module names. Size = frequency
Tuesday, February 26, 13

The following are examples of what you might find on the Forge.
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Forge Module Count

     4000


     3000


     2000


      1000


             0
                           End Q3   End Q4   ~End Q1   ~End Q2   ~End Q3   ~End Q4




Tuesday, February 26, 13
Tuesday, February 26, 13

From the US, LA is the 5th largest city regarding forge traffic
- Behind the bay
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Best Good Practices




Tuesday, February 26, 13
PL Style Guide
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Code VS Data



Tuesday, February 26, 13

As you get further along with your Puppet Deployments, separating your code (puppet
resources) from the data (what package, what version) becomes increasingly important.
Tuesday, February 26, 13
Tuesday, February 26, 13

How do you get from A to B?
Tuesday, February 26, 13

The answer, use Hiera!

Seriously, these docs rock. Read them. http://docs.puppetlabs.com/hiera/1/index.html
It’s MAGIC
                                                      But also, it’s not...




Tuesday, February 26, 13

But first, let’s take a closer look at a Puppet run.
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
I need the value for
                           $forge::package_name.

                           How should I conduct my
                                  search?




Tuesday, February 26, 13
I need the value for $forge::package_name.

                       How should I conduct my search?




Tuesday, February 26, 13

Hiera lets you express data in some structured format (which is pluggable).

You then establish a hierarchy of lookup, however you like, usually based on facts.
I need the value for $forge::package_name.

                       How should I conduct my search?

                                  $clientcert


                                $operatingsystem



                                     common




Tuesday, February 26, 13

Consider your hierarchy the lookup order.
? $forge::package_name


                                     $clientcert


                                   $operatingsystem



                                       common




Tuesday, February 26, 13
? $forge::package_name


                                                     $james_bond


                                                       $RedHat

                                                         common




Tuesday, February 26, 13

Facts can be used for a dynamic hierarchy.
? $forge::package_name

     $james_bond


              $RedHat

                    common




Tuesday, February 26, 13

Hiera will simply consult the structured data, looking for variable names, expecting files
named after your entry in hiera.yaml
? $forge::package_name

     $james_bond


              $RedHat

                    common




Tuesday, February 26, 13

Hierarchy matters. The package name is now tmux.
Ok, so how do I
                            implement it?


Tuesday, February 26, 13

Thankfully, Puppet 3 has made implementing Hiera really simple.
Tuesday, February 26, 13

Please don’t use the hiera() function. Consider it legacy.
Tuesday, February 26, 13

This is better, as the user can override this default parameter value.

With this, you’re locked into hiera.
Tuesday, February 26, 13

But really, just get yourself onto Puppet 3 and take advantage of automatic Hiera!
Data Bindings
                                 don’t lock yourself in




Tuesday, February 26, 13

Additionally, protect yourself from a potential loss of Hiera.
Data Lookup Order
                     •     Use explicit class declaration values

                     •     Query Data Binding

                     •     Use the default value from class.

                     •     Fail compilation with an error if no
                           value can be found.




Tuesday, February 26, 13
Built into Puppet 3




Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13

But really, just get yourself onto Puppet 3 and take advantage of automatic Hiera!
Best Practices


                     • Confirm to the Style Guide
                     • Use Parameterized Classes
                     • Don’t use hiera() directly


Tuesday, February 26, 13

Re-cap.
Interfaces



Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
Tuesday, February 26, 13
The
                           Team


Tuesday, February 26, 13
What have we been
                       up to?


                     • Re-launch and Re-design



Tuesday, February 26, 13

Though we’re small, we’ve been really busy!
Tuesday, February 26, 13
Tuesday, February 26, 13

Lots of little features add up to a substantially nicer to use Forge.
What have we been
                       up to?

                     • Re-launch and Re-design
                     • PMT Fixes (prep for publish)
                     • Download Counts


Tuesday, February 26, 13
Tuesday, February 26, 13

Download counts, now in your search results!
What’s Next?




                 GitHub Publish
Tuesday, February 26, 13

Edit your Modulefile, push your commit and we’ll do the publishing! Coming soon to a
repository near you.
What’s Next?




          A Full & Public API
Tuesday, February 26, 13

Also coming soon, an actual API for doing all sorts of things with the Forge.
What’s Next?




Tuesday, February 26, 13

Just an experimental mock-up of search results. Actual feature will absolutely look and
behave differently.
Tuesday, February 26, 13

Private Forge has been a common request.
PulpProject.org




Tuesday, February 26, 13

RedHat’s Pulp Project is repository management software that recently added support for
Puppet Modules.
• Manage Modules on-premise
                     • Mirror Public Forge
                     • BUT, please work with me on this
                       • Email me or comment on #5033


Tuesday, February 26, 13

If you’re interested in this, email ryan@puppetlabs.com or add your thoughts to https://
projects.puppetlabs.com/issues/5033.

We’re going to do something in this space, but want to hear more from you on what you
need.
Want to help?




Tuesday, February 26, 13

If you want to add your influence to our products, join the Puppet Labs Test Pilots program!

https://puppetlabs.com/community/puppet-test-pilots-program/
• Sharpen your skills
                           • Get Certified
                           • Online learning on the way
                           • puppetlabs.com/education


Tuesday, February 26, 13

Our education courses are carefully crafted and delivered by our fabulous education team
and professional services team.

Advanced course coming to LA 3/19

Browse upcoming events at http://puppetlabs.eventbrite.com/
Tuesday, February 26, 13
Read more!
                           http://garylarizza.com




Tuesday, February 26, 13

Gary Larizza has a great blog post on Boxen.

http://garylarizza.com/blog/2013/02/15/puppet-plus-github-equals-laptop-love/
WE’RE HIRING!

                     • Puppet Forge Module Engineer
                       • http://bit.ly/15wdruk
                     • puppetlabs.com/jobs


Tuesday, February 26, 13

Seriously, join our team. It’ll be awesome.

More Related Content

PDF
Writing & Sharing Great Modules on the Puppet Forge - Puppet Camp Raleigh
Puppet
 
PDF
Managing Puppet using MCollective
Puppet
 
PDF
Introducing Puppet Enterprise’s Event Inspector
Puppet
 
PDF
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Puppet
 
PDF
Puppet-Practitioner
Sarkis Chakarian
 
KEY
Portable infrastructure with puppet
lkanies
 
PDF
Monitoring Cast 1: Puppet & Zabbix
Aécio Pires
 
PDF
Using Docker with Puppet - PuppetConf 2014
Puppet
 
Writing & Sharing Great Modules on the Puppet Forge - Puppet Camp Raleigh
Puppet
 
Managing Puppet using MCollective
Puppet
 
Introducing Puppet Enterprise’s Event Inspector
Puppet
 
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Puppet
 
Puppet-Practitioner
Sarkis Chakarian
 
Portable infrastructure with puppet
lkanies
 
Monitoring Cast 1: Puppet & Zabbix
Aécio Pires
 
Using Docker with Puppet - PuppetConf 2014
Puppet
 

Similar to Modules and the Puppet Forge (20)

PDF
Writing and Sharing Great Modules with the Puppet Forge
Puppet
 
PDF
Automatic Configuration of Your Cloud with Puppet
Puppet
 
PDF
Cloud building talk
bodepd
 
PDF
State of Puppet
Puppet
 
PDF
Puppet: Orchestration framework?
bodepd
 
PDF
Puppet @ Nedap
Puppet
 
PDF
Lessons I Learned While Scaling to 5000 Puppet Agents
Puppet
 
PDF
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
Walter Heck
 
PDF
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
OlinData
 
PDF
State of Puppet - Puppet Camp Barcelona 2013
Puppet
 
PDF
Writing & Sharing Great Modules - Puppet Camp Boston
Puppet
 
PDF
Writing & Sharing Great Modules on the Puppet Forge
Puppet
 
PDF
Designing Puppet: Roles/Profiles Pattern
Puppet
 
KEY
What's new in Puppet 3.0
Eric Sorenson
 
KEY
Puppet101
Puppet
 
KEY
modern module development - Ken Barber 2012 Edinburgh Puppet Camp
Puppet
 
PDF
Building scalablewebapps
Ayumu Aizawa
 
PDF
Using Puppet on Linux, Windows, and Mac OSX
Puppet
 
PDF
The State of Puppet
Puppet
 
PDF
Puppet buero20 presentation
Martin Alfke
 
Writing and Sharing Great Modules with the Puppet Forge
Puppet
 
Automatic Configuration of Your Cloud with Puppet
Puppet
 
Cloud building talk
bodepd
 
State of Puppet
Puppet
 
Puppet: Orchestration framework?
bodepd
 
Puppet @ Nedap
Puppet
 
Lessons I Learned While Scaling to 5000 Puppet Agents
Puppet
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
Walter Heck
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
OlinData
 
State of Puppet - Puppet Camp Barcelona 2013
Puppet
 
Writing & Sharing Great Modules - Puppet Camp Boston
Puppet
 
Writing & Sharing Great Modules on the Puppet Forge
Puppet
 
Designing Puppet: Roles/Profiles Pattern
Puppet
 
What's new in Puppet 3.0
Eric Sorenson
 
Puppet101
Puppet
 
modern module development - Ken Barber 2012 Edinburgh Puppet Camp
Puppet
 
Building scalablewebapps
Ayumu Aizawa
 
Using Puppet on Linux, Windows, and Mac OSX
Puppet
 
The State of Puppet
Puppet
 
Puppet buero20 presentation
Martin Alfke
 
Ad

More from Puppet (20)

PPTX
Puppet Community Day: Planning the Future Together
Puppet
 
PPTX
The Evolution of Puppet: Key Changes and Modernization Tips
Puppet
 
PPTX
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Puppet
 
PPTX
Bolt Dynamic Inventory: Making Puppet Easier
Puppet
 
PPTX
Customizing Reporting with the Puppet Report Processor
Puppet
 
PPTX
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet
 
PPTX
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Puppet
 
PPTX
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet
 
PDF
Puppet camp2021 testing modules and controlrepo
Puppet
 
PPTX
Puppetcamp r10kyaml
Puppet
 
PDF
2021 04-15 operational verification (with notes)
Puppet
 
PPTX
Puppet camp vscode
Puppet
 
PDF
Modules of the twenties
Puppet
 
PDF
Applying Roles and Profiles method to compliance code
Puppet
 
PPTX
KGI compliance as-code approach
Puppet
 
PDF
Enforce compliance policy with model-driven automation
Puppet
 
PDF
Keynote: Puppet camp compliance
Puppet
 
PPTX
Automating it management with Puppet + ServiceNow
Puppet
 
PPTX
Puppet: The best way to harden Windows
Puppet
 
PPTX
Simplified Patch Management with Puppet - Oct. 2020
Puppet
 
Puppet Community Day: Planning the Future Together
Puppet
 
The Evolution of Puppet: Key Changes and Modernization Tips
Puppet
 
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Puppet
 
Bolt Dynamic Inventory: Making Puppet Easier
Puppet
 
Customizing Reporting with the Puppet Report Processor
Puppet
 
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet
 
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Puppet
 
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet
 
Puppet camp2021 testing modules and controlrepo
Puppet
 
Puppetcamp r10kyaml
Puppet
 
2021 04-15 operational verification (with notes)
Puppet
 
Puppet camp vscode
Puppet
 
Modules of the twenties
Puppet
 
Applying Roles and Profiles method to compliance code
Puppet
 
KGI compliance as-code approach
Puppet
 
Enforce compliance policy with model-driven automation
Puppet
 
Keynote: Puppet camp compliance
Puppet
 
Automating it management with Puppet + ServiceNow
Puppet
 
Puppet: The best way to harden Windows
Puppet
 
Simplified Patch Management with Puppet - Oct. 2020
Puppet
 
Ad

Recently uploaded (20)

PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 

Modules and the Puppet Forge