SlideShare a Scribd company logo
1 of 75
Download to read offline
Writing and Sharing Great Modules
                              with the Puppet Forge


     @ryanycoleman - Product Owner - Puppet Forge


Tuesday, April 9, 13
About Me




#PuppetCamp
Tuesday, April 9, 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.
#PuppetCamp
Tuesday, April 9, 13

The Puppet Forge is a community driven web service for contributing and finding Puppet
modules.
#PuppetCamp
Tuesday, April 9, 13

The following are examples of what you will find on the Forge.
#PuppetCamp
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Tuesday, April 9, 13
Forge Module Count

     4000


     3000


     2000


      1000


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




#PuppetCamp
Tuesday, April 9, 13
#PuppetCamp
Tuesday, April 9, 13
#PuppetCamp
Tuesday, April 9, 13
#PuppetCamp
Tuesday, April 9, 13
Best Good Practices



#PuppetCamp
Tuesday, April 9, 13
PL Style Guide
#PuppetCamp
Tuesday, April 9, 13
#PuppetCamp
Tuesday, April 9, 13
#PuppetCamp
Tuesday, April 9, 13
#PuppetCamp
Tuesday, April 9, 13
#PuppetCamp
Tuesday, April 9, 13
Code VS Data



#PuppetCamp
Tuesday, April 9, 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, April 9, 13

Imagine that you’re doing a research project in the library.
Tuesday, April 9, 13

You’ve got some books that help accomplish your goal.
Separate
                        Code
                        From
                        Data



Tuesday, April 9, 13

But you don’t write in those books. You keep your notes -- your data -- separate.
Tuesday, April 9, 13
Tuesday, April 9, 13

So where do you express your data and how does Puppet find it?
Automatic Data Lookup
                        Built into Puppet 3




Tuesday, April 9, 13
Tuesday, April 9, 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...




#PuppetCamp
Tuesday, April 9, 13

But first, let’s take a closer look at a Puppet run.
Tuesday, April 9, 13
Tuesday, April 9, 13
Hello! I’m James_Bond
                          running the RedHat
                       license to kill downtime.



Tuesday, April 9, 13
Good to know!


                         Hmm, what does
                       James_Bond need to
                            enforce?.




Tuesday, April 9, 13
James_Bond?



                                   Enforce    External Node
                                    Forge       Classifier

                  OK, what do I
                 need for Forge?

                 Modules Modules
                 Modules Modules



Tuesday, April 9, 13
forge::package?

                                                                         Data
                                                                       Bindings

                                                   Hiera


                            Hiearchy
                                                                   Backends
                         $clientcert

                       $operatingsystem
                                                         JSON           YAML
                                                        MySQL Foreman
                           common


Tuesday, April 9, 13

The Puppet Master needs forge::package. To get this data...
- It consults its data bindings terminus (abstraction for looking up data)
- Default lookup to Hiera (key/value store for data)
- Hiera consults its back-end data stores (defaults to yaml)
- Hiera returns result of lookup to master (key/value or could not find)
forge::package?

                                                                         Data
                                                                       Bindings
                                          It’s screen!

                                                   Hiera


                            Hiearchy
                                                                   Backends
                         $clientcert

                       $operatingsystem
                                                         JSON           YAML
                                                        MySQL            Redis
                           common


Tuesday, April 9, 13

The Puppet Master needs forge::package. To get this data...
- It consults its data bindings terminus (abstraction for looking up data)
- Default lookup to Hiera (key/value store for data)
- Hiera consults its back-end data stores (defaults to yaml)
- Hiera returns result of lookup to master (key/value or could not find)
? $forge::package
                 Hiearchy
             $clientcert                                            $james_bond

      $operatingsystem                                                   $RedHat

                   common                                                common




Tuesday, April 9, 13

Hiera will examine the lookup order of its data backends and its lookup hierarchy. If you
specified a variable lookup in your hierarchy, Hiera will use available facts when choosing the
backend file to lookup.
Expressing the configuration of hiera
                       data backends and lookup hierarchy




Tuesday, April 9, 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.
Ok, so how do I use it
   with my Puppet
        classes?

#PuppetCamp
Tuesday, April 9, 13

Thankfully, Puppet 3 has made implementing Hiera really simple.
In the early days...




Tuesday, April 9, 13

Please don’t use the hiera() function. Consider it legacy.
In the early days...




Tuesday, April 9, 13

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

With this, you’re locked into hiera.
Here’s the magic!




Tuesday, April 9, 13

But really, just get yourself onto Puppet 3 and take advantage of automatic 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, April 9, 13

This slide could be more visual vs text-based
Data Bindings
                                 don’t lock yourself in




#PuppetCamp
Tuesday, April 9, 13

Additionally, protect yourself from a potential loss of Hiera.
Built into Puppet 3




Tuesday, April 9, 13

data_bindings were implemented to be an abstraction for data lookup, defaulting to hiera for
now
Tuesday, April 9, 13

There’s already an alternative out there, for consulting foreman as your data backend
Tuesday, April 9, 13

But really, just get yourself onto Puppet 3 and take advantage of automatic Hiera!
Tuesday, April 9, 13

Hiera backends are pluggable too. Here are two examples.
Tuesday, April 9, 13
Best Practices


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

#PuppetCamp
Tuesday, April 9, 13

Re-cap.
The
                       Team


Tuesday, April 9, 13
What have we been
                        up to?


                       • Re-launch and Re-design



Tuesday, April 9, 13

Though we’re small, we’ve been really busy!
Tuesday, April 9, 13
Tuesday, April 9, 13

Lots of little features add up to a substantially nicer to use Forge.
Tuesday, April 9, 13

Download counts, now in your search results!
GitHub-based Module Publish




          ryan@puppetlabs.com
Tuesday, April 9, 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, April 9, 13

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




Tuesday, April 9, 13

Just an experimental mock-up of search results. Actual feature will absolutely look and
behave differently.
On-Premise Forge?




Tuesday, April 9, 13

Private Forge has been a common request. The requests I get are two-fold.

A) How can I install public Forge content on a master that can’t reach the outside.
B) How can I contribute company-specific content to a Forge-like thing inside my firewall
On-Premise Forge?




Tuesday, April 9, 13

Private Forge has been a common request. The requests I get are two-fold.

A) How can I install public Forge content on a master that can’t reach the outside.
B) How can I contribute company-specific content to a Forge-like thing inside my firewall
On-Premise Forge?




Tuesday, April 9, 13

Private Forge has been a common request. The requests I get are two-fold.

A) How can I install public Forge content on a master that can’t reach the outside.
B) How can I contribute company-specific content to a Forge-like thing inside my firewall
On-Premise Forge?




Tuesday, April 9, 13

Private Forge has been a common request. The requests I get are two-fold.

A) How can I install public Forge content on a master that can’t reach the outside.
B) How can I contribute company-specific content to a Forge-like thing inside my firewall
On-Premise Forge?




Tuesday, April 9, 13

Private Forge has been a common request. The requests I get are two-fold.

A) How can I install public Forge content on a master that can’t reach the outside.
B) How can I contribute company-specific content to a Forge-like thing inside my firewall
On-Premise Forge?




Tuesday, April 9, 13

Private Forge has been a common request. The requests I get are two-fold.

A) How can I install public Forge content on a master that can’t reach the outside.
B) How can I contribute company-specific content to a Forge-like thing inside my firewall
PulpProject.org




Tuesday, April 9, 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
                           • ryan@puppetlabs.com

Tuesday, April 9, 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?




#PuppetCamp
Tuesday, April 9, 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


#PuppetCamp
Tuesday, April 9, 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, April 9, 13
Thank You!

              Please email (or tweet) feedback and questions

                       ryan@puppetlabs.com - @ryanycoleman

                              forge.puppetlabs.com
                                puppetlabs.com/jobs




#PuppetCamp
Tuesday, April 9, 13

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

More Related Content

More from Puppet

Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 

More from Puppet (20)

Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Puppet in k8s, Miroslav Hadzhiev
Puppet in k8s, Miroslav HadzhievPuppet in k8s, Miroslav Hadzhiev
Puppet in k8s, Miroslav Hadzhiev
 
Bolt on Windows - James Pogran
Bolt on Windows - James PogranBolt on Windows - James Pogran
Bolt on Windows - James Pogran
 
The Business Value of Modernizing your Windows Infrastructure and Bringing Li...
The Business Value of Modernizing your Windows Infrastructure and Bringing Li...The Business Value of Modernizing your Windows Infrastructure and Bringing Li...
The Business Value of Modernizing your Windows Infrastructure and Bringing Li...
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Writing and Sharing Great Modules on the Puppet Forge

  • 1. Writing and Sharing Great Modules with the Puppet Forge @ryanycoleman - Product Owner - Puppet Forge Tuesday, April 9, 13
  • 2. About Me #PuppetCamp Tuesday, April 9, 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.
  • 3. #PuppetCamp Tuesday, April 9, 13 The Puppet Forge is a community driven web service for contributing and finding Puppet modules.
  • 4. #PuppetCamp Tuesday, April 9, 13 The following are examples of what you will find on the Forge.
  • 16. Forge Module Count 4000 3000 2000 1000 0 End Q3 End Q4 ~End Q1 ~End Q2 ~End Q3 ~End Q4 #PuppetCamp Tuesday, April 9, 13
  • 26. Code VS Data #PuppetCamp Tuesday, April 9, 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.
  • 27. Tuesday, April 9, 13 Imagine that you’re doing a research project in the library.
  • 28. Tuesday, April 9, 13 You’ve got some books that help accomplish your goal.
  • 29. Separate Code From Data Tuesday, April 9, 13 But you don’t write in those books. You keep your notes -- your data -- separate.
  • 31. Tuesday, April 9, 13 So where do you express your data and how does Puppet find it?
  • 32. Automatic Data Lookup Built into Puppet 3 Tuesday, April 9, 13
  • 33. Tuesday, April 9, 13 The answer, use Hiera! Seriously, these docs rock. Read them. http://docs.puppetlabs.com/hiera/1/index.html
  • 34. It’s MAGIC But also, it’s not... #PuppetCamp Tuesday, April 9, 13 But first, let’s take a closer look at a Puppet run.
  • 37. Hello! I’m James_Bond running the RedHat license to kill downtime. Tuesday, April 9, 13
  • 38. Good to know! Hmm, what does James_Bond need to enforce?. Tuesday, April 9, 13
  • 39. James_Bond? Enforce External Node Forge Classifier OK, what do I need for Forge? Modules Modules Modules Modules Tuesday, April 9, 13
  • 40. forge::package? Data Bindings Hiera Hiearchy Backends $clientcert $operatingsystem JSON YAML MySQL Foreman common Tuesday, April 9, 13 The Puppet Master needs forge::package. To get this data... - It consults its data bindings terminus (abstraction for looking up data) - Default lookup to Hiera (key/value store for data) - Hiera consults its back-end data stores (defaults to yaml) - Hiera returns result of lookup to master (key/value or could not find)
  • 41. forge::package? Data Bindings It’s screen! Hiera Hiearchy Backends $clientcert $operatingsystem JSON YAML MySQL Redis common Tuesday, April 9, 13 The Puppet Master needs forge::package. To get this data... - It consults its data bindings terminus (abstraction for looking up data) - Default lookup to Hiera (key/value store for data) - Hiera consults its back-end data stores (defaults to yaml) - Hiera returns result of lookup to master (key/value or could not find)
  • 42. ? $forge::package Hiearchy $clientcert $james_bond $operatingsystem $RedHat common common Tuesday, April 9, 13 Hiera will examine the lookup order of its data backends and its lookup hierarchy. If you specified a variable lookup in your hierarchy, Hiera will use available facts when choosing the backend file to lookup.
  • 43. Expressing the configuration of hiera data backends and lookup hierarchy Tuesday, April 9, 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.
  • 44. Ok, so how do I use it with my Puppet classes? #PuppetCamp Tuesday, April 9, 13 Thankfully, Puppet 3 has made implementing Hiera really simple.
  • 45. In the early days... Tuesday, April 9, 13 Please don’t use the hiera() function. Consider it legacy.
  • 46. In the early days... Tuesday, April 9, 13 This is better, as the user can override this default parameter value. With this, you’re locked into hiera.
  • 47. Here’s the magic! Tuesday, April 9, 13 But really, just get yourself onto Puppet 3 and take advantage of automatic Hiera!
  • 48. 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, April 9, 13 This slide could be more visual vs text-based
  • 49. Data Bindings don’t lock yourself in #PuppetCamp Tuesday, April 9, 13 Additionally, protect yourself from a potential loss of Hiera.
  • 50. Built into Puppet 3 Tuesday, April 9, 13 data_bindings were implemented to be an abstraction for data lookup, defaulting to hiera for now
  • 51. Tuesday, April 9, 13 There’s already an alternative out there, for consulting foreman as your data backend
  • 52. Tuesday, April 9, 13 But really, just get yourself onto Puppet 3 and take advantage of automatic Hiera!
  • 53. Tuesday, April 9, 13 Hiera backends are pluggable too. Here are two examples.
  • 55. Best Practices • Confirm to the Style Guide • Use Parameterized Classes • Don’t use hiera() directly #PuppetCamp Tuesday, April 9, 13 Re-cap.
  • 56. The Team Tuesday, April 9, 13
  • 57. What have we been up to? • Re-launch and Re-design Tuesday, April 9, 13 Though we’re small, we’ve been really busy!
  • 59. Tuesday, April 9, 13 Lots of little features add up to a substantially nicer to use Forge.
  • 60. Tuesday, April 9, 13 Download counts, now in your search results!
  • 61. GitHub-based Module Publish ryan@puppetlabs.com Tuesday, April 9, 13 Edit your Modulefile, push your commit and we’ll do the publishing! Coming soon to a repository near you.
  • 62. What’s Next? A Full & Public API Tuesday, April 9, 13 Also coming soon, an actual API for doing all sorts of things with the Forge.
  • 63. What’s Next? Tuesday, April 9, 13 Just an experimental mock-up of search results. Actual feature will absolutely look and behave differently.
  • 64. On-Premise Forge? Tuesday, April 9, 13 Private Forge has been a common request. The requests I get are two-fold. A) How can I install public Forge content on a master that can’t reach the outside. B) How can I contribute company-specific content to a Forge-like thing inside my firewall
  • 65. On-Premise Forge? Tuesday, April 9, 13 Private Forge has been a common request. The requests I get are two-fold. A) How can I install public Forge content on a master that can’t reach the outside. B) How can I contribute company-specific content to a Forge-like thing inside my firewall
  • 66. On-Premise Forge? Tuesday, April 9, 13 Private Forge has been a common request. The requests I get are two-fold. A) How can I install public Forge content on a master that can’t reach the outside. B) How can I contribute company-specific content to a Forge-like thing inside my firewall
  • 67. On-Premise Forge? Tuesday, April 9, 13 Private Forge has been a common request. The requests I get are two-fold. A) How can I install public Forge content on a master that can’t reach the outside. B) How can I contribute company-specific content to a Forge-like thing inside my firewall
  • 68. On-Premise Forge? Tuesday, April 9, 13 Private Forge has been a common request. The requests I get are two-fold. A) How can I install public Forge content on a master that can’t reach the outside. B) How can I contribute company-specific content to a Forge-like thing inside my firewall
  • 69. On-Premise Forge? Tuesday, April 9, 13 Private Forge has been a common request. The requests I get are two-fold. A) How can I install public Forge content on a master that can’t reach the outside. B) How can I contribute company-specific content to a Forge-like thing inside my firewall
  • 70. PulpProject.org Tuesday, April 9, 13 RedHat’s Pulp Project is repository management software that recently added support for Puppet Modules.
  • 71. • Manage Modules on-premise • Mirror Public Forge • BUT, please work with me on this • Email me or comment on #5033 • ryan@puppetlabs.com Tuesday, April 9, 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.
  • 72. Want to help? #PuppetCamp Tuesday, April 9, 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/
  • 73. • Sharpen your skills • Get Certified • Online learning on the way • puppetlabs.com/education #PuppetCamp Tuesday, April 9, 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/
  • 75. Thank You! Please email (or tweet) feedback and questions ryan@puppetlabs.com - @ryanycoleman forge.puppetlabs.com puppetlabs.com/jobs #PuppetCamp Tuesday, April 9, 13 Seriously, join our team. It’ll be awesome.