Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
-
Upload
rob-reynolds -
Category
Software
-
view
1.830 -
download
3
description
Transcript of Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
![Page 1: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/1.jpg)
2014
Presented by
Plugging Chocolatey into your Puppet Infrastructure
Rob Reynolds Senior Software Engineer | Puppet Labs @ferventcoder
![Page 2: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/2.jpg)
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
![Page 3: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/3.jpg)
Presented by
Agenda• Chocolatey?
• Chocolatey Provider
• Why Chocolatey?
• Creating Packages
• Host your own package server
• Announcements
![Page 4: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/4.jpg)
Presented by
What Exactly is Chocolatey?
![Page 5: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/5.jpg)
Presented by
Package Manager for Windows• Behaves much like yum
• Microsoft validated
• Technologies: PowerShell + NuGet packaging framework
• Does not violate distribution rights
Chocolatey
![Page 6: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/6.jpg)
Presented by
chocolatey.org• Community feed
• Community maintained
• Trust issues?
• Recommendation: A business should run their own internal feed
5 Million Downloads!
![Page 7: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/7.jpg)
Presented by
Chocolatey Puppet Provider
![Page 8: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/8.jpg)
Presented by
Puppet Provider• puppet module install
rismoney/chocolatey
• Rich is a committer
• Doesn’t yet install chocolatey
![Page 9: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/9.jpg)
Presented by
Package Resource
• installable, uninstallable, upgradeable, versionable, install_options
• Soon: holdable, uninstall_options
• Later: virtual_packages
![Page 10: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/10.jpg)
Presented by
Why Chocolatey provider versus the built in provider?
![Page 11: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/11.jpg)
Presented by
Use case: git• Name of
package
• Source
• Manifest maintenance
![Page 12: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/12.jpg)
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
![Page 13: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/13.jpg)
Presented by
Make Chocolatey your default!• Set Package resource
default for provider to chocolatey on Windows
• Note: There might be better ways of doing this, follow those guidelines when conflicting :)
![Page 14: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/14.jpg)
Presented by
Chocolatey Provider Demo
![Page 15: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/15.jpg)
Presented by
Creating Packages
![Page 16: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/16.jpg)
Presented by
Creating Packages• *.nuspec
• chocolateyInstall.ps1
• Other resources like binaries / config files, etc
• Getting started / reference at https://bit.ly/createchocolateypackages
![Page 17: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/17.jpg)
Presented by
packagename.nuspec• This is a nuget
packaging specification
• Later: choco adding infrastructure, os versions, etc
![Page 18: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/18.jpg)
Presented by
chocolateyInstall.ps1• Helpers / Functions
• Reduce work
• PowerShell, you can do *anything*
• Function reference http://bit.ly/chocolateyfunctionreference
![Page 19: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/19.jpg)
Presented by
Create Packages Visually• Nuget Package Explorer
(choco install nugetpackageexplorer)
• Ignore its warnings, it is geared towards NuGet proper
• NO content folder
![Page 20: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/20.jpg)
Presented by
Create Packages Demo
![Page 21: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/21.jpg)
Presented by
Host Your Own Chocolatey Package Server
![Page 22: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/22.jpg)
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
![Page 23: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/23.jpg)
Presented by
Chocolatey Package Server Demo
![Page 24: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/24.jpg)
Presented by
Announcements
![Page 25: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/25.jpg)
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
![Page 26: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/26.jpg)
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
![Page 27: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/27.jpg)
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
![Page 28: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/28.jpg)
Presented by
Okay how about no network?• choco list -lo
!
!
!
• 300% increase!
![Page 29: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/29.jpg)
Presented by
Chocolatey Puppet Provider• How many of you would like to see the
current provider get better?
• How many of you think it would be awesome if it were a Puppet Labs supported module?
• How many of you just want chocolate?
![Page 30: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/30.jpg)
Presented by
Supported Module• Yes, we plan to provide a Puppet Labs supported
module!
![Page 31: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/31.jpg)
Presented by
chocolatey.org Improvements• Mark outdated
• Mark bad
• Security improvements still coming
![Page 32: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/32.jpg)
Presented by
Demo of new Chocolatey!
![Page 33: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/33.jpg)
Presented by
Questions?• Join the newsletter for announcements - https://
chocolatey.org/#newsletter
• ferventcoder { twitter, github, gmail }, also [email protected]
![Page 34: Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014](https://reader034.fdocuments.net/reader034/viewer/2022052619/5560cd4ed8b42a08088b4b4c/html5/thumbnails/34.jpg)
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