Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to Open Source Your Puppet Configuration - PuppetConf 2014


Published on

How to Open Source Your Puppet Configuration - Elizabeth Krumbach Joseph, HP

Published in: Technology
  • Be the first to comment

How to Open Source Your Puppet Configuration - PuppetConf 2014

  1. 1. How to open source your Puppet con guration PuppetConf 23 September 2014 Elizabeth K. Joseph Automation & Tools Engineer @ HP @pleia2
  2. 2. Elizabeth K. Joseph ● Linux hobbyist since 2002 ● Professional systems administrator since 2006 ● Contributor to Ubuntu, Debian and OpenStack projects ● But perhaps most importantly... Elizabeth K. Joseph @pleia2
  3. 3. OpenStack Infrastructure We have open sourced our infrastructure! Lots of projects, including ones for con guration available via: Elizabeth K. Joseph @pleia2
  4. 4. How this came about Puppet show, featuring: Monty Taylor (stick puppet) James E. Blair (stick puppet) Elizabeth K. Joseph @pleia2
  5. 5. Why? Examples are awesome (I don't want to spend all week guring out how to use your puppet module) Elizabeth K. Joseph @pleia2
  6. 6. Why? Encourages better practices (our upgrade to Puppet 3 was not so painful) Elizabeth K. Joseph @pleia2
  7. 7. Why? Allows others in your organization to suggest changes Elizabeth K. Joseph @pleia2
  8. 8. Why? Sharing is nice Elizabeth K. Joseph @pleia2
  9. 9. OK, so how? Elizabeth K. Joseph @pleia2 ● Prepare policies ● Segregate code ● Document ● Share!
  10. 10. Have an open source policy All software used in your infrastructure is Open Source ...if not, segregate out proprietary Elizabeth K. Joseph @pleia2
  11. 11. Licenses! Add a license to your con guration les :) Seriously. This is important. Don't make me email you to ask the license of your con g. Elizabeth K. Joseph @pleia2
  12. 12. Puppet: Step 1 Leverage existing modules or write your own with the intent of sharing Apache MySQL Reviewday Keep these outside your generic con guration tree (You're already doing this, right?) Elizabeth K. Joseph @pleia2
  13. 13. Puppet: Step 2 Split out: system con guration project con guration This makes it easier to consume by others Elizabeth K. Joseph @pleia2
  14. 14. Puppet: Step 3 Split out non-sensitive custom con gurations into your own module (Parameterized classes and variables are your friends!) Elizabeth K. Joseph @pleia2
  15. 15. Puppet: Step 4 Use Hiera for sensitive data (Hiera is my favorite thing ever (except for when it's not)) Elizabeth K. Joseph @pleia2
  16. 16. Puppet: Step 5 Set up PuppetBoard Allows people in your org/community to see status without bugging folks with shell access Elizabeth K. Joseph @pleia2
  17. 17. Document Elizabeth K. Joseph @pleia2 ● Links to source ● Work Bow for using the con guration ● Contribution instructions – Direct commits/reviews – Bug reports ● Bootstrapping and glue
  18. 18. Share! (Oh, and make sure you have a license) Elizabeth K. Joseph @pleia2
  19. 19. Who else has open source Puppet? Debian: Mozilla: Jenkins: Elizabeth K. Joseph @pleia2
  20. 20. Resources OpenStack Project Infrastructure docs: OpenStack Infrastructure repository: OpenStack specs for when we split out some of our con gs: specs/con g-repo-split.html specs/puppet-modules.html Elizabeth K. Joseph @pleia2