SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
2014 
Presented by 
A Practical Guide 
to Magic Modules 
Morgan Haskel 
Module Engineer | Puppet Labs 
@KnittyNerd 
Lauren Rother 
Technical Writer | Puppet Labs 
@GrandmaHenri
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? 
How does this fit in with the 
broader Puppet ecosystem? 
Presented by
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! 
Presented by
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 for high-level 
functionality. 
Presented by
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 selectors
Presented by 
SemVer! 
X.Y.Z 
Increment X for backwards 
incompatible changes 
Increment Y for new features 
Increment Z for bug fixes
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 
requests 
Ping: _morgan, Hunner, crinkle, or 
cyberious on #puppet-dev
Presented by 
Questions?

Weitere Àhnliche Inhalte

Ähnlich wie A Practical Guide to Modules - PuppetConf 2014

Contributing to Drupal
Contributing to DrupalContributing to Drupal
Contributing to Drupal
Chris Skene
 
Design pattern in an expressive language java script
Design pattern in an expressive language java scriptDesign pattern in an expressive language java script
Design pattern in an expressive language java script
Amit Thakkar
 
SEP_Poster
SEP_PosterSEP_Poster
SEP_Poster
Bomo Shen
 
Unit Testing Full@
Unit Testing Full@Unit Testing Full@
Unit Testing Full@
Alex Borsuk
 
Turbo Charging Moodle
Turbo Charging MoodleTurbo Charging Moodle
Turbo Charging Moodle
Julian Ridden
 

Ähnlich wie A Practical Guide to Modules - PuppetConf 2014 (20)

Contributing to Drupal
Contributing to DrupalContributing to Drupal
Contributing to Drupal
 
520_DevOps Engineer Master Program Curriculum.pdf
520_DevOps Engineer Master Program Curriculum.pdf520_DevOps Engineer Master Program Curriculum.pdf
520_DevOps Engineer Master Program Curriculum.pdf
 
PuppetConf 2016: Turning Pain Into Gain: A Unit Testing Story – Nadeem Ahmad ...
PuppetConf 2016: Turning Pain Into Gain: A Unit Testing Story – Nadeem Ahmad ...PuppetConf 2016: Turning Pain Into Gain: A Unit Testing Story – Nadeem Ahmad ...
PuppetConf 2016: Turning Pain Into Gain: A Unit Testing Story – Nadeem Ahmad ...
 
Design pattern in an expressive language java script
Design pattern in an expressive language java scriptDesign pattern in an expressive language java script
Design pattern in an expressive language java script
 
State of the Union by Dan Bode Puppet Labs
State of the Union by Dan Bode Puppet LabsState of the Union by Dan Bode Puppet Labs
State of the Union by Dan Bode Puppet Labs
 
Portable infrastructure with puppet
Portable infrastructure with puppetPortable infrastructure with puppet
Portable infrastructure with puppet
 
How to choose the right drupal modules like a pro
How to choose the right drupal modules like a proHow to choose the right drupal modules like a pro
How to choose the right drupal modules like a pro
 
Puppet Camp Sydney 2015: The (Im)perfect Puppet Module
Puppet Camp Sydney 2015: The (Im)perfect Puppet ModulePuppet Camp Sydney 2015: The (Im)perfect Puppet Module
Puppet Camp Sydney 2015: The (Im)perfect Puppet Module
 
Munit_in_mule_naveen
Munit_in_mule_naveenMunit_in_mule_naveen
Munit_in_mule_naveen
 
Puppet camp amsterdam
Puppet camp amsterdamPuppet camp amsterdam
Puppet camp amsterdam
 
Story of Puppet @eBay Global Classifieds Group (eCG)
Story of Puppet @eBay Global Classifieds Group (eCG)Story of Puppet @eBay Global Classifieds Group (eCG)
Story of Puppet @eBay Global Classifieds Group (eCG)
 
Puppetizing Your Organization
Puppetizing Your OrganizationPuppetizing Your Organization
Puppetizing Your Organization
 
Easily adapt Puppet Modules with PDK Convert 02/22/2018
Easily adapt Puppet Modules with PDK Convert 02/22/2018Easily adapt Puppet Modules with PDK Convert 02/22/2018
Easily adapt Puppet Modules with PDK Convert 02/22/2018
 
SEP_Poster
SEP_PosterSEP_Poster
SEP_Poster
 
The future of testing in Pharo
The future of testing in PharoThe future of testing in Pharo
The future of testing in Pharo
 
The future of testing in Pharo
The future of testing in PharoThe future of testing in Pharo
The future of testing in Pharo
 
Unit Testing Full@
Unit Testing Full@Unit Testing Full@
Unit Testing Full@
 
Turbo Charging Moodle
Turbo Charging MoodleTurbo Charging Moodle
Turbo Charging Moodle
 
Turn eLearning Nays into Yays
Turn eLearning Nays into YaysTurn eLearning Nays into Yays
Turn eLearning Nays into Yays
 
Test Doubles
Test DoublesTest Doubles
Test Doubles
 

Mehr von Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
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
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
 

Mehr von Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
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
 

KĂŒrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

KĂŒrzlich hochgeladen (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

A Practical Guide to Modules - PuppetConf 2014

  • 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. Presented by Clarifications Intermediate level talk Internal setup vs community modules
  • 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. Presented by Planning for Tomcat Research RTFM Experiment Automate
  • 5. One No Module to Rule Them All Each module needs to manage only one thing. Everything else belongs in profiles! Presented by
  • 6. Presented by Transfiguring Your Module Classes Defined Types Parameters
  • 7. Presented by Classes and Defined Types
  • 8. Parameterize All The Things! Presented by
  • 9. Presented by Moar Advanced Topics
  • 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. Presented by McGonagall’s Guide to Style Being a good community member means following your guides.
  • 12. Presented by Use the README Template! https://docs.puppetlabs.com/puppet/latest/reference/ modules_documentation.html
  • 13. Presented by You Shall Not Pass (Lint) Whitespace, alignment, and formatting, oh my! Inheritance Namespacing Avoid selectors
  • 14. Presented by SemVer! X.Y.Z Increment X for backwards incompatible changes Increment Y for new features Increment Z for bug fixes
  • 15. Presented by Pull Requests Follow the style guide! Update tests! Update documentation!
  • 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