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 
Plugging Chocolatey 
into your Puppet 
Infrastructure 
Rob Reynolds 
Senior Software Engineer | Puppet...
Presented by 
Rob Reynolds 
• Developer at Puppet Labs 
• Creator of Chocolatey 
• All around nice guy 
• Making your Wind...
Presented by 
Agenda 
• Chocolatey? 
• Chocolatey Provider 
• Why Chocolatey? 
• Creating Packages 
• Host your own packag...
What Exactly is Chocolatey? 
Presented by
Package Manager for Windows 
• Behaves much like yum 
Chocolatey 
Presented by 
• Microsoft validated 
• Technologies: Pow...
Presented by 
chocolatey.org 
• Community feed 
• Community maintained 
• Trust issues? 
• Recommendation: A 
business sho...
Chocolatey Puppet Provider 
Presented by
Presented by 
Puppet Provider 
• puppet module install 
rismoney/chocolatey 
• Rich is a committer 
• Doesn’t yet install ...
Presented by 
Package Resource 
• installable, uninstallable, upgradeable, versionable, 
install_options 
• Soon: holdable...
Why Chocolatey provider versus 
Presented by 
the built in provider?
Presented by 
Use case: git 
• Name of 
package 
• Source 
• Manifest 
maintenance
Presented by 
Why Chocolatey Provider? 
• Synonymous with other package managers 
• No edge cases like version in applicat...
Make Chocolatey your default! 
• Set Package resource 
default for provider to 
chocolatey on Windows 
Presented by 
• Not...
Chocolatey Provider Demo 
Presented by
Presented by 
Creating Packages
Presented by 
Creating Packages 
• *.nuspec 
• chocolateyInstall.ps1 
• Other resources like binaries / config files, etc ...
Presented by 
packagename.nuspec 
• This is a nuget 
packaging 
specification 
• Later: choco adding 
infrastructure, os 
...
Presented by 
chocolateyInstall.ps1 
• Helpers / Functions 
• Reduce work 
• PowerShell, you can 
do *anything* 
• Functio...
Presented by 
Create Packages Visually 
• Nuget Package Explorer 
(choco install 
nugetpackageexplorer) 
• Ignore its warn...
Create Packages Demo 
Presented by
Host Your Own Chocolatey 
Presented by 
Package Server
Presented by 
Host Chocolatey Packages 
• Now it’s easy to set up your 
own package feed 
• Make it custom/internal for 
b...
Chocolatey Package Server 
Presented by 
Demo
Presented by 
Announcements
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 fi...
Presented by 
Getting Chocolatey 
• Chocolatey Executable 
• First public viewing here today 
• Stability / Performance im...
Presented by 
Just how much faster is it? 
• Checking upgrades across 114 packages 
! 
! 
! 
• Almost 600% increase!!! Gra...
Okay how about no network? 
• choco list -lo 
Presented by 
! 
! 
! 
• 300% increase!
Chocolatey Puppet Provider 
• How many of you would like to see the 
current provider get better? 
Presented by 
• How man...
Supported Module 
• Yes, we plan to provide a Puppet Labs supported 
module! 
Presented by
chocolatey.org Improvements 
• Mark outdated 
Presented by 
• Mark bad 
• Security improvements still 
coming
Demo of new Chocolatey! 
Presented by
Questions? 
• Join the newsletter for announcements - https:// 
chocolatey.org/#newsletter 
Presented by 
• ferventcoder {...
Presented by 
Thank you! 
• Other awesome things involving Windows: 
• Getting started w/Puppet on Windows (Josh Cooper) -...
Upcoming SlideShare
Loading in …5
×

Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014

3,011 views

Published on

Plugging Chocolatey into Your Puppet Infrastructure - Rob Reynolds, Puppet Labs

Published in: Technology

Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014

  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 chocolatey.org • 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 https://bit.ly/ 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 http://bit.ly/chocolateyfunctionreference
  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. chocolatey.org 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:// chocolatey.org/#newsletter Presented by • ferventcoder { twitter, github, gmail }, also rob@puppetlabs.com
  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

×