Modules and the Puppet Forge

  • 2,157 views
Uploaded on

"Modules and the Puppet Forge" by Ryan Coleman of Puppet Labs at Puppet Camp LA, in conjunction with SCALE11x. Follow Ryan @ryanycoleman

"Modules and the Puppet Forge" by Ryan Coleman of Puppet Labs at Puppet Camp LA, in conjunction with SCALE11x. Follow Ryan @ryanycoleman

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,157
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
31
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Tuesday, February 26, 13
  • 2. About MeTuesday, February 26, 13Ryan was a RedHat sysadmin for Penn State before joining Puppet Labsas a professional services engineer. Now is product owner for the Forge.
  • 3. Tuesday, February 26, 13The Puppet Forge is a community driven web service for contributing and finding Puppetmodules.
  • 4. Tuesday, February 26, 13
  • 5. Tuesday, February 26, 13Word cloud made from forge module names. Size = frequency
  • 6. Tuesday, February 26, 13The following are examples of what you might find on the Forge.
  • 7. Tuesday, February 26, 13
  • 8. Tuesday, February 26, 13
  • 9. Tuesday, February 26, 13
  • 10. Tuesday, February 26, 13
  • 11. Tuesday, February 26, 13
  • 12. Forge Module Count 4000 3000 2000 1000 0 End Q3 End Q4 ~End Q1 ~End Q2 ~End Q3 ~End Q4Tuesday, February 26, 13
  • 13. Tuesday, February 26, 13From the US, LA is the 5th largest city regarding forge traffic- Behind the bay
  • 14. Tuesday, February 26, 13
  • 15. Tuesday, February 26, 13
  • 16. Tuesday, February 26, 13
  • 17. Best Good PracticesTuesday, February 26, 13
  • 18. PL Style GuideTuesday, February 26, 13
  • 19. Tuesday, February 26, 13
  • 20. Tuesday, February 26, 13
  • 21. Tuesday, February 26, 13
  • 22. Tuesday, February 26, 13
  • 23. Code VS DataTuesday, February 26, 13As you get further along with your Puppet Deployments, separating your code (puppetresources) from the data (what package, what version) becomes increasingly important.
  • 24. Tuesday, February 26, 13
  • 25. Tuesday, February 26, 13How do you get from A to B?
  • 26. Tuesday, February 26, 13The answer, use Hiera!Seriously, these docs rock. Read them. http://docs.puppetlabs.com/hiera/1/index.html
  • 27. It’s MAGIC But also, it’s not...Tuesday, February 26, 13But first, let’s take a closer look at a Puppet run.
  • 28. Tuesday, February 26, 13
  • 29. Tuesday, February 26, 13
  • 30. Tuesday, February 26, 13
  • 31. I need the value for $forge::package_name. How should I conduct my search?Tuesday, February 26, 13
  • 32. I need the value for $forge::package_name. How should I conduct my search?Tuesday, February 26, 13Hiera 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.
  • 33. I need the value for $forge::package_name. How should I conduct my search? $clientcert $operatingsystem commonTuesday, February 26, 13Consider your hierarchy the lookup order.
  • 34. ? $forge::package_name $clientcert $operatingsystem commonTuesday, February 26, 13
  • 35. ? $forge::package_name $james_bond $RedHat commonTuesday, February 26, 13Facts can be used for a dynamic hierarchy.
  • 36. ? $forge::package_name $james_bond $RedHat commonTuesday, February 26, 13Hiera will simply consult the structured data, looking for variable names, expecting filesnamed after your entry in hiera.yaml
  • 37. ? $forge::package_name $james_bond $RedHat commonTuesday, February 26, 13Hierarchy matters. The package name is now tmux.
  • 38. Ok, so how do I implement it?Tuesday, February 26, 13Thankfully, Puppet 3 has made implementing Hiera really simple.
  • 39. Tuesday, February 26, 13Please don’t use the hiera() function. Consider it legacy.
  • 40. Tuesday, February 26, 13This is better, as the user can override this default parameter value.With this, you’re locked into hiera.
  • 41. Tuesday, February 26, 13But really, just get yourself onto Puppet 3 and take advantage of automatic Hiera!
  • 42. Data Bindings don’t lock yourself inTuesday, February 26, 13Additionally, protect yourself from a potential loss of Hiera.
  • 43. 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
  • 44. Built into Puppet 3Tuesday, February 26, 13
  • 45. Tuesday, February 26, 13
  • 46. Tuesday, February 26, 13But really, just get yourself onto Puppet 3 and take advantage of automatic Hiera!
  • 47. Best Practices • Confirm to the Style Guide • Use Parameterized Classes • Don’t use hiera() directlyTuesday, February 26, 13Re-cap.
  • 48. InterfacesTuesday, February 26, 13
  • 49. Tuesday, February 26, 13
  • 50. Tuesday, February 26, 13
  • 51. Tuesday, February 26, 13
  • 52. The TeamTuesday, February 26, 13
  • 53. What have we been up to? • Re-launch and Re-designTuesday, February 26, 13Though we’re small, we’ve been really busy!
  • 54. Tuesday, February 26, 13
  • 55. Tuesday, February 26, 13Lots of little features add up to a substantially nicer to use Forge.
  • 56. What have we been up to? • Re-launch and Re-design • PMT Fixes (prep for publish) • Download CountsTuesday, February 26, 13
  • 57. Tuesday, February 26, 13Download counts, now in your search results!
  • 58. What’s Next? GitHub PublishTuesday, February 26, 13Edit your Modulefile, push your commit and we’ll do the publishing! Coming soon to arepository near you.
  • 59. What’s Next? A Full & Public APITuesday, February 26, 13Also coming soon, an actual API for doing all sorts of things with the Forge.
  • 60. What’s Next?Tuesday, February 26, 13Just an experimental mock-up of search results. Actual feature will absolutely look andbehave differently.
  • 61. Tuesday, February 26, 13Private Forge has been a common request.
  • 62. PulpProject.orgTuesday, February 26, 13RedHat’s Pulp Project is repository management software that recently added support forPuppet Modules.
  • 63. • Manage Modules on-premise • Mirror Public Forge • BUT, please work with me on this • Email me or comment on #5033Tuesday, February 26, 13If 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 youneed.
  • 64. Want to help?Tuesday, February 26, 13If you want to add your influence to our products, join the Puppet Labs Test Pilots program!https://puppetlabs.com/community/puppet-test-pilots-program/
  • 65. • Sharpen your skills • Get Certified • Online learning on the way • puppetlabs.com/educationTuesday, February 26, 13Our education courses are carefully crafted and delivered by our fabulous education teamand professional services team.Advanced course coming to LA 3/19Browse upcoming events at http://puppetlabs.eventbrite.com/
  • 66. Tuesday, February 26, 13
  • 67. Read more! http://garylarizza.comTuesday, February 26, 13Gary Larizza has a great blog post on Boxen.http://garylarizza.com/blog/2013/02/15/puppet-plus-github-equals-laptop-love/
  • 68. WE’RE HIRING! • Puppet Forge Module Engineer • http://bit.ly/15wdruk • puppetlabs.com/jobsTuesday, February 26, 13Seriously, join our team. It’ll be awesome.