SlideShare a Scribd company logo
1 of 34
Download to read offline
2014 
Presented by 
Plugging Chocolatey 
into your Puppet 
Infrastructure 
Rob Reynolds 
Senior Software Engineer | Puppet 
Labs 
@ferventcoder
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
Presented by 
Agenda 
• Chocolatey? 
• Chocolatey Provider 
• Why Chocolatey? 
• Creating Packages 
• Host your own package server 
• Announcements
What Exactly is Chocolatey? 
Presented by
Package Manager for Windows 
• Behaves much like yum 
Chocolatey 
Presented by 
• Microsoft validated 
• Technologies: PowerShell 
+ NuGet packaging framework 
• Does not violate distribution 
rights
Presented by 
chocolatey.org 
• Community feed 
• Community maintained 
• Trust issues? 
• Recommendation: A 
business should run 
their own internal feed 
5 Million Downloads!
Chocolatey Puppet Provider 
Presented by
Presented by 
Puppet Provider 
• puppet module install 
rismoney/chocolatey 
• Rich is a committer 
• Doesn’t yet install 
chocolatey
Presented by 
Package Resource 
• installable, uninstallable, upgradeable, versionable, 
install_options 
• Soon: holdable, uninstall_options 
• Later: virtual_packages
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 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
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 :)
Chocolatey Provider Demo 
Presented by
Presented by 
Creating Packages
Presented by 
Creating Packages 
• *.nuspec 
• chocolateyInstall.ps1 
• Other resources like binaries / config files, etc 
• Getting started / reference at https://bit.ly/ 
createchocolateypackages
Presented by 
packagename.nuspec 
• This is a nuget 
packaging 
specification 
• Later: choco adding 
infrastructure, os 
versions, etc
Presented by 
chocolateyInstall.ps1 
• Helpers / Functions 
• Reduce work 
• PowerShell, you can 
do *anything* 
• Function reference 
http://bit.ly/chocolateyfunctionreference
Presented by 
Create Packages Visually 
• Nuget Package Explorer 
(choco install 
nugetpackageexplorer) 
• Ignore its warnings, it is 
geared towards NuGet 
proper 
• NO content folder
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 
business purposes. 
• chocolatey.server package 
• Beta 
• Simple server
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 fixed 
• and no easy way to install a private choco server
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
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
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 many of you think it would be 
awesome if it were a Puppet Labs 
supported module? 
• How many of you just want chocolate?
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 { twitter, github, gmail }, also 
rob@puppetlabs.com
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

More Related Content

What's hot

using Chocolatey for application deployments
using Chocolatey for application deploymentsusing Chocolatey for application deployments
using Chocolatey for application deploymentsOwain Perry
 
Running a Successful Open Source Project
Running a Successful Open Source ProjectRunning a Successful Open Source Project
Running a Successful Open Source ProjectRob Reynolds
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor StoryMarko Heijnen
 
It Takes a Village to Make WordPress
It Takes a Village to Make WordPressIt Takes a Village to Make WordPress
It Takes a Village to Make WordPressDrewAPicture
 
Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013Robert Dickert
 
MozTW Jetpack Workshop: Taipei
MozTW Jetpack Workshop: TaipeiMozTW Jetpack Workshop: Taipei
MozTW Jetpack Workshop: Taipeilittlebtc
 
Netbeans dev and ecosystem
Netbeans dev and ecosystemNetbeans dev and ecosystem
Netbeans dev and ecosystemPeter Cheung
 
An (Updated) Introduction to Gutenberg
An (Updated) Introduction to GutenbergAn (Updated) Introduction to Gutenberg
An (Updated) Introduction to GutenbergAndrew Marks
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessStephen Donner
 
Accelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLIAccelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLIdrywallbmb
 
Engage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPagesEngage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPagesJesse Gallagher
 
CP3108B midterm presentation
CP3108B midterm presentationCP3108B midterm presentation
CP3108B midterm presentationMifeng
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basicsDwayne McDaniel
 
Setting up your development environment
Setting up your development environmentSetting up your development environment
Setting up your development environmentRobert Deutz
 
Devops at Startup Weekend BXL
Devops at Startup Weekend BXLDevops at Startup Weekend BXL
Devops at Startup Weekend BXLKris Buytaert
 
You'll Never Look at Developer Support the Same Way Again
You'll Never Look at Developer Support the Same Way AgainYou'll Never Look at Developer Support the Same Way Again
You'll Never Look at Developer Support the Same Way AgainAnne Gentle
 
Tbilisi hackaton intro
Tbilisi hackaton introTbilisi hackaton intro
Tbilisi hackaton introAlexey Bokov
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedAngela Byron
 

What's hot (20)

using Chocolatey for application deployments
using Chocolatey for application deploymentsusing Chocolatey for application deployments
using Chocolatey for application deployments
 
Running a Successful Open Source Project
Running a Successful Open Source ProjectRunning a Successful Open Source Project
Running a Successful Open Source Project
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor Story
 
It Takes a Village to Make WordPress
It Takes a Village to Make WordPressIt Takes a Village to Make WordPress
It Takes a Village to Make WordPress
 
Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013Panopoly - Boulder DBUG 13 Nov 2013
Panopoly - Boulder DBUG 13 Nov 2013
 
MozTW Jetpack Workshop: Taipei
MozTW Jetpack Workshop: TaipeiMozTW Jetpack Workshop: Taipei
MozTW Jetpack Workshop: Taipei
 
Netbeans dev and ecosystem
Netbeans dev and ecosystemNetbeans dev and ecosystem
Netbeans dev and ecosystem
 
An (Updated) Introduction to Gutenberg
An (Updated) Introduction to GutenbergAn (Updated) Introduction to Gutenberg
An (Updated) Introduction to Gutenberg
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our Success
 
Accelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLIAccelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLI
 
Engage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPagesEngage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPages
 
CP3108B midterm presentation
CP3108B midterm presentationCP3108B midterm presentation
CP3108B midterm presentation
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basics
 
Setting up your development environment
Setting up your development environmentSetting up your development environment
Setting up your development environment
 
544 Project Part 1
544 Project Part 1544 Project Part 1
544 Project Part 1
 
Joomlaplatform en
Joomlaplatform enJoomlaplatform en
Joomlaplatform en
 
Devops at Startup Weekend BXL
Devops at Startup Weekend BXLDevops at Startup Weekend BXL
Devops at Startup Weekend BXL
 
You'll Never Look at Developer Support the Same Way Again
You'll Never Look at Developer Support the Same Way AgainYou'll Never Look at Developer Support the Same Way Again
You'll Never Look at Developer Support the Same Way Again
 
Tbilisi hackaton intro
Tbilisi hackaton introTbilisi hackaton intro
Tbilisi hackaton intro
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 

Viewers also liked

Getting Started with Puppet on Windows - PuppetConf 2014
Getting Started with Puppet on Windows - PuppetConf 2014Getting Started with Puppet on Windows - PuppetConf 2014
Getting Started with Puppet on Windows - PuppetConf 2014Puppet
 
Managing windows with Puppet and Chocolatey
Managing windows with Puppet and ChocolateyManaging windows with Puppet and Chocolatey
Managing windows with Puppet and ChocolateySethMcBean
 
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Puppet
 
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, PuppetPuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, PuppetPuppet
 
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppet
 
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...Puppet
 
Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHubPuppet
 
Configuration Changes Don't Have to be Scary: Testing with containers
Configuration Changes Don't Have to be Scary: Testing with containersConfiguration Changes Don't Have to be Scary: Testing with containers
Configuration Changes Don't Have to be Scary: Testing with containersAndy Henroid
 
Introducion to Puppet Enterprise
Introducion to Puppet EnterpriseIntroducion to Puppet Enterprise
Introducion to Puppet EnterprisePuppet
 
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...Puppet
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...Puppet
 
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...Puppet
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppetdsadas
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppet
 
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, PuppetPuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, PuppetPuppet
 
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...Puppet
 
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...Puppet
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet EnterprisePuppet
 

Viewers also liked (19)

Getting Started with Puppet on Windows - PuppetConf 2014
Getting Started with Puppet on Windows - PuppetConf 2014Getting Started with Puppet on Windows - PuppetConf 2014
Getting Started with Puppet on Windows - PuppetConf 2014
 
Managing windows with Puppet and Chocolatey
Managing windows with Puppet and ChocolateyManaging windows with Puppet and Chocolatey
Managing windows with Puppet and Chocolatey
 
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
 
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, PuppetPuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
 
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
 
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
 
Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHub
 
Configuration Changes Don't Have to be Scary: Testing with containers
Configuration Changes Don't Have to be Scary: Testing with containersConfiguration Changes Don't Have to be Scary: Testing with containers
Configuration Changes Don't Have to be Scary: Testing with containers
 
Introducion to Puppet Enterprise
Introducion to Puppet EnterpriseIntroducion to Puppet Enterprise
Introducion to Puppet Enterprise
 
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
 
Canadian Cyber Cecurity
Canadian Cyber CecurityCanadian Cyber Cecurity
Canadian Cyber Cecurity
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
 
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppet
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
 
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, PuppetPuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
 
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
 
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet Enterprise
 

Similar to Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014

Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPuppet
 
Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017
Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017
Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017Rob Reynolds
 
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UKChocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UKRob Reynolds
 
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019Rob Reynolds
 
Chocolatey + Artifactory = A Sweet Solution for Managing Windows
Chocolatey + Artifactory = A Sweet Solution for Managing WindowsChocolatey + Artifactory = A Sweet Solution for Managing Windows
Chocolatey + Artifactory = A Sweet Solution for Managing WindowsRob Reynolds
 
Modern Software Management on Windows with Chocolatey and Puppet
Modern Software Management on Windows with Chocolatey and PuppetModern Software Management on Windows with Chocolatey and Puppet
Modern Software Management on Windows with Chocolatey and PuppetRob Reynolds
 
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...Puppet
 
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Puppet
 
Modern Software Management on Windows w/Chocolatey
Modern Software Management on Windows w/ChocolateyModern Software Management on Windows w/Chocolatey
Modern Software Management on Windows w/ChocolateyRob Reynolds
 
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017Rob Reynolds
 
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 Chocolatey - Software Automation for Windows (and sneak peak of Central Mana... Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...Rob Reynolds
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchExcella
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Puppet
 
Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...Rob Reynolds
 
A Tale from the Upstream Path
A Tale from the Upstream PathA Tale from the Upstream Path
A Tale from the Upstream PathTesora
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deploymentheyrocker
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyondimoneytech
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svccMaarten Balliauw
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Maarten Balliauw
 

Similar to Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014 (20)

Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017
Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017
Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017
 
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UKChocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
 
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
 
Chocolatey + Artifactory = A Sweet Solution for Managing Windows
Chocolatey + Artifactory = A Sweet Solution for Managing WindowsChocolatey + Artifactory = A Sweet Solution for Managing Windows
Chocolatey + Artifactory = A Sweet Solution for Managing Windows
 
Modern Software Management on Windows with Chocolatey and Puppet
Modern Software Management on Windows with Chocolatey and PuppetModern Software Management on Windows with Chocolatey and Puppet
Modern Software Management on Windows with Chocolatey and Puppet
 
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
 
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
 
Modern Software Management on Windows w/Chocolatey
Modern Software Management on Windows w/ChocolateyModern Software Management on Windows w/Chocolatey
Modern Software Management on Windows w/Chocolatey
 
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017
 
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 Chocolatey - Software Automation for Windows (and sneak peak of Central Mana... Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from Scratch
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
 
Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...
 
Chef Jumpstart
Chef JumpstartChef Jumpstart
Chef Jumpstart
 
A Tale from the Upstream Path
A Tale from the Upstream PathA Tale from the Upstream Path
A Tale from the Upstream Path
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deployment
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svcc
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
 

More from Rob Reynolds

DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?Rob Reynolds
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentRob Reynolds
 
Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)Rob Reynolds
 
DevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on WindowsDevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on WindowsRob Reynolds
 
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013Rob Reynolds
 
UppercuT - Getting Started
UppercuT - Getting StartedUppercuT - Getting Started
UppercuT - Getting StartedRob Reynolds
 

More from Rob Reynolds (6)

DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
 
Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)
 
DevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on WindowsDevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on Windows
 
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
 
UppercuT - Getting Started
UppercuT - Getting StartedUppercuT - Getting Started
UppercuT - Getting Started
 

Recently uploaded

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 

Recently uploaded (20)

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 

Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014

  • 1. 2014 Presented by Plugging Chocolatey into your Puppet Infrastructure Rob Reynolds Senior Software Engineer | Puppet Labs @ferventcoder
  • 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. Presented by Agenda • Chocolatey? • Chocolatey Provider • Why Chocolatey? • Creating Packages • Host your own package server • Announcements
  • 4. What Exactly is Chocolatey? Presented by
  • 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. Presented by chocolatey.org • Community feed • Community maintained • Trust issues? • Recommendation: A business should run their own internal feed 5 Million Downloads!
  • 8. Presented by Puppet Provider • puppet module install rismoney/chocolatey • Rich is a committer • Doesn’t yet install chocolatey
  • 9. Presented by Package Resource • installable, uninstallable, upgradeable, versionable, install_options • Soon: holdable, uninstall_options • Later: virtual_packages
  • 10. Why Chocolatey provider versus Presented by the built in provider?
  • 11. Presented by Use case: git • Name of package • Source • Manifest maintenance
  • 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. 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. Chocolatey Provider Demo Presented by
  • 16. Presented by Creating Packages • *.nuspec • chocolateyInstall.ps1 • Other resources like binaries / config files, etc • Getting started / reference at https://bit.ly/ createchocolateypackages
  • 17. Presented by packagename.nuspec • This is a nuget packaging specification • Later: choco adding infrastructure, os versions, etc
  • 18. Presented by chocolateyInstall.ps1 • Helpers / Functions • Reduce work • PowerShell, you can do *anything* • Function reference http://bit.ly/chocolateyfunctionreference
  • 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. Create Packages Demo Presented by
  • 21. Host Your Own Chocolatey Presented by Package Server
  • 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. Chocolatey Package Server Presented by Demo
  • 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. 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. 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. Okay how about no network? • choco list -lo Presented by ! ! ! • 300% increase!
  • 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. Supported Module • Yes, we plan to provide a Puppet Labs supported module! Presented by
  • 31. chocolatey.org Improvements • Mark outdated Presented by • Mark bad • Security improvements still coming
  • 32. Demo of new Chocolatey! Presented by
  • 33. Questions? • Join the newsletter for announcements - https:// chocolatey.org/#newsletter Presented by • ferventcoder { twitter, github, gmail }, also rob@puppetlabs.com
  • 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