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.

Working with Modules - Henrik Lindberg - PuppetCamp Europe '11


Published on

Video at

Learn More:

Henrik Lindberg - Current and Future Approaches to Working with Modules

PuppetCamp Europe 2011: Amsterdam, Netherlands

Published in: Education
  • Be the first to comment

Working with Modules - Henrik Lindberg - PuppetCamp Europe '11

  1. 1. Future Approaches to Working with Modules<br />Henrik Lindberg<br />
  2. 2. The Vision<br />
  3. 3. Starting out<br />
  4. 4. Making Your Puppets<br />
  5. 5. First attempt at running<br />
  6. 6. Testing<br />Syntax Error : got ‘:’ expected ‘}’<br />on line 1<br />
  7. 7. Avoiding Complexity is Natural<br />
  8. 8. Simplicity through Denial<br />
  9. 9. Best Practices<br />Use modules from the beginning<br />Use version control<br />Use sound design principles<br />think in terms of reuse<br />separation of concerns<br />organize in terms of specificity:<br />puppet, common, generic, application, site, instance…<br />
  10. 10. A New Set of Issues<br />What files goes where, and why<br />Manage dependencies<br />Collaboration within and between organizations<br />
  11. 11. Isn’t there an app for that? <br />
  12. 12. Geppetto Project<br />What is Geppetto?<br />Why did we create it?<br />What does it do?<br />How can I get it?<br />How can I contribute?<br />
  13. 13. Geppetto Objectives<br />Flatten the learning curve<br />Support Puppet best practices<br />Encourage sharing<br />
  14. 14. What is in Geppetto<br />Puppet Manifest editor<br />Module meta data editor<br />Incremental builders<br />validates puppet manifests<br />validates cross references (functions, types, definitions)<br />validates modulefiles<br />keeps metadata in sync (files and checksums)<br />Project wizards<br />Streamlined module publication/consumption to/from the Puppet Forge. <br />
  15. 15. Puppet Manifest Editor<br />Syntax coloring<br />set your own preferences<br />Integrated fast validation / error markers<br />Quick fixes<br />Templates<br />add your own<br />Code completion<br />
  16. 16. Incremental Builders<br />Validates Puppet Manifests<br />Validates cross references <br />functions, types, definitions, classes, parameters<br />understands visibility as defined by dependencies<br />Validates modulefiles<br />Keeps metadata in sync<br /> files and checksums in metadata.json<br />
  17. 17. Project Wizards<br />New Puppet Module<br />Get Module from Forge<br />Empty (blank) Puppet project<br />Export Module for upload to Forge<br />
  18. 18. Packaging<br />All in one download, ready to use<br />integrated with svn and git<br />As Eclipse plugins<br />Command line interface (enhanced puppet module tool).<br />Open source (Apache, EPL)<br />
  19. 19. Demo<br />
  20. 20. How to contribute<br />
  21. 21. Collaboration / Roadmap for the Forge<br />Collaboration <br />within and between organizations using the same mechanisms.<br />Support full set of use cases<br />get/update, install/use, repair/modify, share/contribute<br />Support additional composition patterns<br />Group/lineup<br />Fragments<br />Private vs. Exported (everything is API)<br />Improved dependency management<br />install a module, also get its dependencies<br />only gives you latest version (problem: stability)<br />no version ranges<br />Use of git<br />
  22. 22. Resources…<br />Geppetto<br /><br /><br />Geppetto Eclipse Update site <br /><br />Forge<br /><br />Puppetlabs<br /><br />
  23. 23. Project Geppetto<br />Henrik Lindberg<br />