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.
2014 
Presented by 
A Practical Guide 
to Magic Modules 
Morgan Haskel 
Module Engineer | Puppet Labs 
@KnittyNerd 
Lauren...
Presented by 
Clarifications 
Intermediate level talk 
Internal setup vs community 
modules
Getting Your Wands in Order 
What task do you need your 
module to accomplish? 
How will your module accomplish 
this task...
Presented by 
Planning for Tomcat 
Research 
RTFM 
Experiment 
Automate
One No Module to Rule Them All 
Each module needs to manage 
only one thing. 
Everything else belongs in profiles! 
Presen...
Presented by 
Transfiguring Your Module 
Classes 
Defined Types 
Parameters
Presented by 
Classes and Defined Types
Parameterize All The Things! 
Presented by
Presented by 
Moar Advanced Topics
Will Someone End Up a Lizard? 
Add tests to ensure module 
functionality. 
Unit tests for most things. 
Acceptance tests f...
Presented by 
McGonagall’s Guide to Style 
Being a good community member 
means following your guides.
Presented by 
Use the README Template! 
https://docs.puppetlabs.com/puppet/latest/reference/ 
modules_documentation.html
Presented by 
You Shall Not Pass (Lint) 
Whitespace, alignment, and 
formatting, oh my! 
Inheritance 
Namespacing 
Avoid s...
Presented by 
SemVer! 
X.Y.Z 
Increment X for backwards 
incompatible changes 
Increment Y for new features 
Increment Z f...
Presented by 
Pull Requests 
Follow the style guide! 
Update tests! 
Update documentation!
Presented by 
Module Triage 
Thursdays from 1700-1800 UTC 
Link will be posted in #puppet-dev 
Agenda driven by community ...
Presented by 
Questions?
Upcoming SlideShare
Loading in …5
×

A Practical Guide to Modules - PuppetConf 2014

1,431 views

Published on

A Practical Guide to Modules - Lauren Rother, Puppet Labs & Morgan Haskel, Puppet Labs

Published in: Technology
  • Be the first to comment

A Practical Guide to Modules - PuppetConf 2014

  1. 1. 2014 Presented by A Practical Guide to Magic Modules Morgan Haskel Module Engineer | Puppet Labs @KnittyNerd Lauren Rother Technical Writer | Puppet Labs @GrandmaHenri
  2. 2. Presented by Clarifications Intermediate level talk Internal setup vs community modules
  3. 3. Getting Your Wands in Order What task do you need your module to accomplish? How will your module accomplish this task? How does this fit in with the broader Puppet ecosystem? Presented by
  4. 4. Presented by Planning for Tomcat Research RTFM Experiment Automate
  5. 5. One No Module to Rule Them All Each module needs to manage only one thing. Everything else belongs in profiles! Presented by
  6. 6. Presented by Transfiguring Your Module Classes Defined Types Parameters
  7. 7. Presented by Classes and Defined Types
  8. 8. Parameterize All The Things! Presented by
  9. 9. Presented by Moar Advanced Topics
  10. 10. Will Someone End Up a Lizard? Add tests to ensure module functionality. Unit tests for most things. Acceptance tests for high-level functionality. Presented by
  11. 11. Presented by McGonagall’s Guide to Style Being a good community member means following your guides.
  12. 12. Presented by Use the README Template! https://docs.puppetlabs.com/puppet/latest/reference/ modules_documentation.html
  13. 13. Presented by You Shall Not Pass (Lint) Whitespace, alignment, and formatting, oh my! Inheritance Namespacing Avoid selectors
  14. 14. Presented by SemVer! X.Y.Z Increment X for backwards incompatible changes Increment Y for new features Increment Z for bug fixes
  15. 15. Presented by Pull Requests Follow the style guide! Update tests! Update documentation!
  16. 16. Presented by Module Triage Thursdays from 1700-1800 UTC Link will be posted in #puppet-dev Agenda driven by community requests Ping: _morgan, Hunner, crinkle, or cyberious on #puppet-dev
  17. 17. Presented by Questions?

×