Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014

Post on 24-May-2015

1824 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Are you managing Windows? Longtime Windows system admin? Do you enjoy long walks on the beach thinking about how it would be awesome to have Linux-style package management on Windows? Well you, sir or madam, are in luck! Chocolatey will help you get jiggy with it and get your Puppet package management in much the same way that you already enjoy with other platforms. During this talk we will go over how you can be successful hooking Chocolatey into Puppet, creating your own packages, and setting up an internal package repository. Even if you've seen Chocolatey before, we have something new and Puppety we'll be showing at this talk!

Transcript

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

Presented by

What Exactly is Chocolatey?

Presented by

Package Manager for Windows• Behaves much like yum

• Microsoft validated

• Technologies: PowerShell + NuGet packaging framework

• Does not violate distribution rights

Chocolatey

Presented by

chocolatey.org• Community feed

• Community maintained

• Trust issues?

• Recommendation: A business should run their own internal feed

5 Million Downloads!

Presented by

Chocolatey Puppet Provider

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

Presented by

Why Chocolatey provider versus 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

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 :)

Presented by

Chocolatey Provider Demo

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

Presented by

Create Packages Demo

Presented by

Host Your Own Chocolatey 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

Presented by

Chocolatey Package Server 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

Presented by

Okay how about no network?• choco list -lo

!

!

!

• 300% increase!

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?

Presented by

Supported Module• Yes, we plan to provide a Puppet Labs supported

module!

Presented by

chocolatey.org Improvements• Mark outdated

• Mark bad

• Security improvements still coming

Presented by

Demo of new Chocolatey!

Presented by

Questions?• Join the newsletter for announcements - https://

chocolatey.org/#newsletter

• 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

top related