SlideShare une entreprise Scribd logo
1  sur  28
Package Management on Windows
With Chocolatey
Kenaz Kwa
Sr. Product Manager
Rob Reynolds
Sr. Software Engineer, creator of Chocolatey
Agenda
• How Puppet Enterprise works
• Why Chocolatey
• Chocolatey Puppet Provider
• Creating Packages
• Hosting Your Own Server
• Demo
• Puppet Labs Windows support
• Resources
• Q&A
Our software
automates the provisioning,
configuration &
ongoing management
of your machines & the applications,
services & software running on them.
Puppet Deployment
Ubuntu Server
PUPPET MASTER
Windows Server Cisco Switch
How Puppet Enterprise Works
Why Chocolatey
Package Manager for Windows
• Behaves much like Yum
• Uses NuGet packaging framework +
PowerShell for automation scripts
• CLI tool - choco.exe
• GUI - ChocolateyGUI
• Allows non-centralized/private
repositories
• Microsoft validated - there will be a
OneGet provider
Chocolatey == Universal Software Packaging
chocolatey.org (Community Repo)
• Community Feed / Community
Maintained
• Moderated as of October 2014
• A couple people have
downloaded packages (1 yr
ago at 5 Million)
• Organizations should not
depend on community b/c trust
and control
Chocolatey Puppet Provider
Puppet Provider
• puppet module install
chocolatey/chocolatey
• Approved module, supported
module coming
• Manages install of Chocolatey
• Packages
• Soon manages full configuration
of Chocolatey
Install Chocolatey
• Install and initial configuration
• Point to internal resources
Package Resource
• installable, uninstallable, upgradeable, versionable, holdable,
install_options, uninstall_options
• Still later: virtual_packages
Why Chocolatey Provider?
• This is the built-in
provider
• Note the following:
• Name of package
• Source
• Manifest maintenance
Why Chocolatey Provider?
• Package resource default
to provider => chocolatey
for Windows.
• Platform agnostic
packaging
Creating Packages
Creating Packages
• choco new -h
• Create organizational templates!
• *.nuspec
• chocolateyInstall.ps1
• Other resources like binaries / config files, etc
• Getting started / reference at http://bit.ly/choco-create
packagename.nuspec
• This is a nuget packaging
specification
• Enhanced with provides,
conflicts, replaces
(although choco doesn’t
know what to do with them
yet)
• Will be enhancing further:
architecture, os versions,
etc
chocolateyInstall.ps1
• Helpers / Functions
• Reduce work
• PowerShell, you can
do anything
• Function reference
https://bit.ly/choco-functions
Hosting Your Own Server
Hosting Your Own Packages
• chocolatey/chocolatey_server
module
• Non-Windows Hosting
– Artifactory
– Sonatype Nexus
• NuGet Gallery proper
• ProGet / MyGet
• https://bit.ly/choco-package-
server
DEMO
Puppet Labs Windows Support
• 32- & 64-bit Support – Native MSI packages for x64 as of Puppet
Enterprise 3.7
• Broad Platform Support - Windows 2008, 2012, 7, 8
• Windows Provisioning - Provision Windows OSes with Razor
• Puppet Supported & Approved Modules for Windows – Including
Windows Module Pack, Supported SQL Sever & DSC modules
• Azure Integration – Microsoft Azure extension handler for
bootstrapping Puppet installs. Supported Azure module.
Puppet Supported Modules
• SQL Server – Installs & manages MS SQL Server 2012 & 2014 on
Windows systems
• WSUS Client – Configure clients to point to update servers; schedule
updates
• DSC – Manages PowerShell DSC resources
• Azure – Provision and manage Azure VMs
• ACL – manage permissions with Windows ACLs
• Registry – manage Registry keys and values
• PowerShell – execute PowerShell commands with Puppet
• Reboot – Automatically reboot after install
Puppet Approved Modules
• IIS – install and manage IIS
• Chocolatey – package manager
• windows_env – manage Windows environment variables
• Windows Java – Install and manage Oracle Java on Windows
• pget – PowerShell alternative to wget or curl
Windows Webinar Series
Register for upcoming webinars at: http://info.puppetlabs.com/1885-
Windows-Series-Main_LP-Registration.html
• Managing PowerShell DSC with Puppet
• Patch Management on Windows with Puppet
• Setting up Windows for System and Application Monitoring
• Getting Up and Running with the Windows Module Pack
• Get Started on Azure with Puppet
Questions &
Answers
Resources
PuppetConf 2015 Windows Track
• Chocolatey and Puppet - Rob Reynolds
• Azure for the Non-Microsoft Person - Rob Reynolds & Scott Hanselman, MSFT
• Better Together: Managing Windows with Puppet and DSC - Ethan Brown & Bruce Payette,
MSFT
• Beyond the Registry - Matthew Stone, T-Mobile
• The Wild World of Windows: Developing for Puppet on Windows - Travis Fields, Nike
Blog
• Chocolatey blog series
• PowerShell DSC blog series
Docs
• Managing Windows Configurations
Education
• Learning VM
• Puppet Essentials for Windows – Instructor-led
• Puppet Essentials for Windows - Virtual

Contenu connexe

En vedette

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
 
Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and Agent
Ranjit Avasarala
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
Acácio Oliveira
 

En vedette (20)

Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
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-...
 
Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and Agent
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 Edition
 
Icinga 2 and Puppet automate monitoring
Icinga 2 and Puppet  automate monitoringIcinga 2 and Puppet  automate monitoring
Icinga 2 and Puppet automate monitoring
 
Intro to Puppet Enterprise
Intro to Puppet EnterpriseIntro to Puppet Enterprise
Intro to Puppet Enterprise
 
Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014
 
Chasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
Chasing AMI - Building Amazon machine images with Puppet, Packer and JenkinsChasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
Chasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
 
Managing Puppet using MCollective
Managing Puppet using MCollectiveManaging Puppet using MCollective
Managing Puppet using MCollective
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
Designing Puppet: Roles/Profiles Pattern
Designing Puppet: Roles/Profiles PatternDesigning Puppet: Roles/Profiles Pattern
Designing Puppet: Roles/Profiles Pattern
 
Patch Management on Windows with Puppet
Patch Management on Windows with PuppetPatch Management on Windows with Puppet
Patch Management on Windows with Puppet
 
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and KibanaPuppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
 
Deploying IIS and ASP.NET with Puppet
Deploying IIS and ASP.NET with PuppetDeploying IIS and ASP.NET with Puppet
Deploying IIS and ASP.NET with Puppet
 
Windows Just Got Chocolatey (Package Management) LISA15
Windows Just Got Chocolatey (Package Management) LISA15Windows Just Got Chocolatey (Package Management) LISA15
Windows Just Got Chocolatey (Package Management) LISA15
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
 
2013 04-specs-camp-tosca-heat-brooklyn
2013 04-specs-camp-tosca-heat-brooklyn2013 04-specs-camp-tosca-heat-brooklyn
2013 04-specs-camp-tosca-heat-brooklyn
 
Is distribution-level package management obsolete?
Is distribution-level package management obsolete?Is distribution-level package management obsolete?
Is distribution-level package management obsolete?
 
PowerShell DSC: Introduction
PowerShell DSC: IntroductionPowerShell DSC: Introduction
PowerShell DSC: Introduction
 

Similaire à Package Management on Windows with Chocolatey

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
Rob 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 2017
Rob Reynolds
 

Similaire à Package Management on Windows with Chocolatey (20)

Chocolatey and Puppet: Managing Your Windows Software Since 2011
Chocolatey and Puppet: Managing Your Windows Software Since 2011Chocolatey and Puppet: Managing Your Windows Software Since 2011
Chocolatey and Puppet: Managing Your Windows Software Since 2011
 
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
 
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
 
Managing PowerShell DSC with Puppet
Managing PowerShell DSC with PuppetManaging PowerShell DSC with Puppet
Managing PowerShell DSC with Puppet
 
Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014
Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014
Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014
 
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
 
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
 
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
 
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...
 
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...
 
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 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
 
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 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...
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
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
 
2016 spice world_london_breakout
2016 spice world_london_breakout2016 spice world_london_breakout
2016 spice world_london_breakout
 

Plus de Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 

Plus de Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Dernier

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Package Management on Windows with Chocolatey

  • 1. Package Management on Windows With Chocolatey Kenaz Kwa Sr. Product Manager Rob Reynolds Sr. Software Engineer, creator of Chocolatey
  • 2. Agenda • How Puppet Enterprise works • Why Chocolatey • Chocolatey Puppet Provider • Creating Packages • Hosting Your Own Server • Demo • Puppet Labs Windows support • Resources • Q&A
  • 3. Our software automates the provisioning, configuration & ongoing management of your machines & the applications, services & software running on them.
  • 4. Puppet Deployment Ubuntu Server PUPPET MASTER Windows Server Cisco Switch
  • 7. Package Manager for Windows • Behaves much like Yum • Uses NuGet packaging framework + PowerShell for automation scripts • CLI tool - choco.exe • GUI - ChocolateyGUI • Allows non-centralized/private repositories • Microsoft validated - there will be a OneGet provider
  • 8. Chocolatey == Universal Software Packaging
  • 9. chocolatey.org (Community Repo) • Community Feed / Community Maintained • Moderated as of October 2014 • A couple people have downloaded packages (1 yr ago at 5 Million) • Organizations should not depend on community b/c trust and control
  • 11. Puppet Provider • puppet module install chocolatey/chocolatey • Approved module, supported module coming • Manages install of Chocolatey • Packages • Soon manages full configuration of Chocolatey
  • 12. Install Chocolatey • Install and initial configuration • Point to internal resources
  • 13. Package Resource • installable, uninstallable, upgradeable, versionable, holdable, install_options, uninstall_options • Still later: virtual_packages
  • 14. Why Chocolatey Provider? • This is the built-in provider • Note the following: • Name of package • Source • Manifest maintenance
  • 15. Why Chocolatey Provider? • Package resource default to provider => chocolatey for Windows. • Platform agnostic packaging
  • 17. Creating Packages • choco new -h • Create organizational templates! • *.nuspec • chocolateyInstall.ps1 • Other resources like binaries / config files, etc • Getting started / reference at http://bit.ly/choco-create
  • 18. packagename.nuspec • This is a nuget packaging specification • Enhanced with provides, conflicts, replaces (although choco doesn’t know what to do with them yet) • Will be enhancing further: architecture, os versions, etc
  • 19. chocolateyInstall.ps1 • Helpers / Functions • Reduce work • PowerShell, you can do anything • Function reference https://bit.ly/choco-functions
  • 21. Hosting Your Own Packages • chocolatey/chocolatey_server module • Non-Windows Hosting – Artifactory – Sonatype Nexus • NuGet Gallery proper • ProGet / MyGet • https://bit.ly/choco-package- server
  • 22. DEMO
  • 23. Puppet Labs Windows Support • 32- & 64-bit Support – Native MSI packages for x64 as of Puppet Enterprise 3.7 • Broad Platform Support - Windows 2008, 2012, 7, 8 • Windows Provisioning - Provision Windows OSes with Razor • Puppet Supported & Approved Modules for Windows – Including Windows Module Pack, Supported SQL Sever & DSC modules • Azure Integration – Microsoft Azure extension handler for bootstrapping Puppet installs. Supported Azure module.
  • 24. Puppet Supported Modules • SQL Server – Installs & manages MS SQL Server 2012 & 2014 on Windows systems • WSUS Client – Configure clients to point to update servers; schedule updates • DSC – Manages PowerShell DSC resources • Azure – Provision and manage Azure VMs • ACL – manage permissions with Windows ACLs • Registry – manage Registry keys and values • PowerShell – execute PowerShell commands with Puppet • Reboot – Automatically reboot after install
  • 25. Puppet Approved Modules • IIS – install and manage IIS • Chocolatey – package manager • windows_env – manage Windows environment variables • Windows Java – Install and manage Oracle Java on Windows • pget – PowerShell alternative to wget or curl
  • 26. Windows Webinar Series Register for upcoming webinars at: http://info.puppetlabs.com/1885- Windows-Series-Main_LP-Registration.html • Managing PowerShell DSC with Puppet • Patch Management on Windows with Puppet • Setting up Windows for System and Application Monitoring • Getting Up and Running with the Windows Module Pack • Get Started on Azure with Puppet
  • 28. Resources PuppetConf 2015 Windows Track • Chocolatey and Puppet - Rob Reynolds • Azure for the Non-Microsoft Person - Rob Reynolds & Scott Hanselman, MSFT • Better Together: Managing Windows with Puppet and DSC - Ethan Brown & Bruce Payette, MSFT • Beyond the Registry - Matthew Stone, T-Mobile • The Wild World of Windows: Developing for Puppet on Windows - Travis Fields, Nike Blog • Chocolatey blog series • PowerShell DSC blog series Docs • Managing Windows Configurations Education • Learning VM • Puppet Essentials for Windows – Instructor-led • Puppet Essentials for Windows - Virtual

Notes de l'éditeur

  1. Sales Presentation Deck – 4Q FY2016 –v7
  2. Installing packages Choco / Choco module; or use Puppet base resource types Managing Services Windows time, creating registry keys Disable services with PE and create scheduled tasks PowerShell - How to use with Puppet; use puppet with PowerShell
  3. Our software helps you automate the configuration and ongoing management of your machines and the software running on them, so you spend less time fighting fires and more time deploying great software. We help you make rapid, repeatable changes and automatically enforce the consistency of systems and devices–across physical and virtual machines, on prem or in the cloud.
  4. First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver. Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability. Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning. Finally, you should do this across everything. If it has an IP address, you should automate the management of it. Let’s dig into each of these.
  5. First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver. Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability. Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning. Finally, you should do this across everything. If it has an IP address, you should automate the management of it. Let’s dig into each of these.
  6. https://puppetlabs.com/blog/chocolatey-hosting-your-own-server
  7. First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver. Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability. Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning. Finally, you should do this across everything. If it has an IP address, you should automate the management of it. Let’s dig into each of these.
  8. First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver. Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability. Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning. Finally, you should do this across everything. If it has an IP address, you should automate the management of it. Let’s dig into each of these.
  9. First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver. Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability. Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning. Finally, you should do this across everything. If it has an IP address, you should automate the management of it. Let’s dig into each of these.