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.

Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014


Published on

Are you managing Windows? Longtime Windows system admin? Do you enjoy long walks on the beach thinking about how it would be awesome to have Linux-style package management on Windows?

Well you, sir or madam, are in luck! Chocolatey will help you get jiggy with it and get your Puppet package management in much the same way that you already enjoy with other platforms. During this talk we will go over how you can be successful hooking Chocolatey into Puppet, creating your own packages, and setting up an internal package repository. Even if you've seen Chocolatey before, we have something new and Puppety we'll be showing at this talk!

Published in: Software
  • Be the first to like this

Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014

  1. 1. 2014 Presented by Plugging Chocolatey into your Puppet Infrastructure Rob Reynolds Senior Software Engineer | Puppet Labs @ferventcoder
  2. 2. Presented by Rob Reynolds • Developer at Puppet Labs • Creator of Chocolatey • All around nice guy • Making your Windows world a better place • Windows, it’s a technique
  3. 3. Presented by Agenda • Chocolatey? • Chocolatey Provider • Why Chocolatey? • Creating Packages • Host your own package server • Announcements
  4. 4. What Exactly is Chocolatey? Presented by
  5. 5. Package Manager for Windows • Behaves much like yum Chocolatey Presented by • Microsoft validated • Technologies: PowerShell + NuGet packaging framework • Does not violate distribution rights
  6. 6. Presented by • Community feed • Community maintained • Trust issues? • Recommendation: A business should run their own internal feed 5 Million Downloads!
  7. 7. Chocolatey Puppet Provider Presented by
  8. 8. Presented by Puppet Provider • puppet module install rismoney/chocolatey • Rich is a committer • Doesn’t yet install chocolatey
  9. 9. Presented by Package Resource • installable, uninstallable, upgradeable, versionable, install_options • Soon: holdable, uninstall_options • Later: virtual_packages
  10. 10. Why Chocolatey provider versus Presented by the built in provider?
  11. 11. Presented by Use case: git • Name of package • Source • Manifest maintenance
  12. 12. Presented by Why Chocolatey Provider? • Synonymous with other package managers • No edge cases like version in application names • No edge cases like unicode symbols (em-dash, em-I-rite?) in app names • No source needing to point to the installer. Can I get a WAT
  13. 13. Make Chocolatey your default! • Set Package resource default for provider to chocolatey on Windows Presented by • Note: There might be better ways of doing this, follow those guidelines when conflicting :)
  14. 14. Chocolatey Provider Demo Presented by
  15. 15. Presented by Creating Packages
  16. 16. Presented by Creating Packages • *.nuspec • chocolateyInstall.ps1 • Other resources like binaries / config files, etc • Getting started / reference at createchocolateypackages
  17. 17. Presented by packagename.nuspec • This is a nuget packaging specification • Later: choco adding infrastructure, os versions, etc
  18. 18. Presented by chocolateyInstall.ps1 • Helpers / Functions • Reduce work • PowerShell, you can do *anything* • Function reference
  19. 19. Presented by Create Packages Visually • Nuget Package Explorer (choco install nugetpackageexplorer) • Ignore its warnings, it is geared towards NuGet proper • NO content folder
  20. 20. Create Packages Demo Presented by
  21. 21. Host Your Own Chocolatey Presented by Package Server
  22. 22. Presented by Host Chocolatey Packages • Now it’s easy to set up your own package feed • Make it custom/internal for business purposes. • chocolatey.server package • Beta • Simple server
  23. 23. Chocolatey Package Server Presented by Demo
  24. 24. Presented by Announcements
  25. 25. Presented by So it’s been a year • A year ago we: • were on Choco v0.9.8.20 • the chocolatey puppet module was just fixed • and no easy way to install a private choco server
  26. 26. Presented by Getting Chocolatey • Chocolatey Executable • First public viewing here today • Stability / Performance improvements • Help menu improvements (like, there is one now) • Lots of command switches • Global Noop
  27. 27. Presented by Just how much faster is it? • Checking upgrades across 114 packages ! ! ! • Almost 600% increase!!! Granted this is still slow, but package indexes are coming later
  28. 28. Okay how about no network? • choco list -lo Presented by ! ! ! • 300% increase!
  29. 29. Chocolatey Puppet Provider • How many of you would like to see the current provider get better? Presented by • How many of you think it would be awesome if it were a Puppet Labs supported module? • How many of you just want chocolate?
  30. 30. Supported Module • Yes, we plan to provide a Puppet Labs supported module! Presented by
  31. 31. Improvements • Mark outdated Presented by • Mark bad • Security improvements still coming
  32. 32. Demo of new Chocolatey! Presented by
  33. 33. Questions? • Join the newsletter for announcements - https:// Presented by • ferventcoder { twitter, github, gmail }, also
  34. 34. Presented by Thank you! • Other awesome things involving Windows: • Getting started w/Puppet on Windows (Josh Cooper) - Wed 2:20PM - Golden Gate B • Workshop: Puppet for Windows Users (Ethan Brown) - Wed 3:10 - Salon 2-3 • Puppet Demo: Managing Windows with Puppet Enterprise - today/tomorrow - Nob Hill