Top Banner
2014 Presented by Getting Started with Puppet on Windows Josh Cooper Principal Engineer | Puppet Labs @coopjn Thursday, September 25, 14
38

Getting Started with Puppet on Windows PuppetConf 2014

Jun 07, 2015

Download

Technology

Josh Cooper

Learn how to use Puppet on Windows
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Getting Started with Puppet on Windows PuppetConf 2014

2014

Presented by

Getting Started with Puppet on Windows Josh CooperPrincipal Engineer | Puppet Labs@coopjn

Thursday, September 25, 14

Page 2: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

What not to do1 @echo off2 net stop w32time3 w32tm /config /syncfromflags:manual \ /manualpeerlist:"0.pool.ntp.org,1.pool.ntp.org"4 net start w32time

Thursday, September 25, 14

Page 3: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Thursday, September 25, 14

Page 4: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Overview What is Puppet?

Getting started

Effectively managing Windows with Puppet

Thursday, September 25, 14

Page 5: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

What is Puppet?

Thursday, September 25, 14

Page 6: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

#puppetize registry_value { 'HKLM\System\...\W32Time\Parameters\NtpServer': ensure => present, type => array, data => ['0.pool.ntp.org','1.pool.ntp.org'], notify => Service['w32time'],}service { 'w32time': ensure => running, enable => true,}

Thursday, September 25, 14

Page 7: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

registry_value { 'HKLM\System\...\W32Time\Parameters\NtpServer': ensure => present, type => array, data => ['0.pool.ntp.org','1.pool.ntp.org'], notify => Service['w32time'],}

Thursday, September 25, 14

Page 8: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

service { 'w32time': ensure => running, enable => true,}

Thursday, September 25, 14

Page 9: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Relationshipsregistry_value { 'HKLM\System\...\W32Time\Parameters\NtpServer': ... notify => Service['w32time'],}service { 'w32time': ...}

Thursday, September 25, 14

Page 10: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Getting Started• Supported Platforms

• Installation

• Applications

• Resources

Thursday, September 25, 14

Page 11: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

to

Thursday, September 25, 14

Page 12: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Thursday, September 25, 14

Page 13: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Thursday, September 25, 14

Page 14: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Thursday, September 25, 14

Page 15: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Applications• resource

• apply

• agent

Thursday, September 25, 14

Page 16: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

puppet resource

Thursday, September 25, 14

Page 17: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

packages

Thursday, September 25, 14

Page 18: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

puppet apply

Thursday, September 25, 14

Page 19: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

puppet agent

Thursday, September 25, 14

Page 20: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Resources• Core

• Supported Modules

• Community Modules

• Tooling

Thursday, September 25, 14

Page 21: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Core Resourcesexec

file

host

user

group

package

service

scheduled_task

Thursday, September 25, 14

Page 22: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Supported Modulesacl

powershell

reboot

registry

concat

stdlib

inifile

java_ks

Thursday, September 25, 14

Page 23: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Community Moduleshttps://forge.puppetlabs.com/modules?sort=downloads&q=windows

Paul Stack & Liam Bennett (OpenTable)

Rich Siegel

Marc Sutter

Thursday, September 25, 14

Page 24: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

puppet modulemaybe we skip this?

Thursday, September 25, 14

Page 25: Getting Started with Puppet on Windows PuppetConf 2014

Presented by https://docs.puppetlabs.com/geppetto/latest/

Thursday, September 25, 14

Page 26: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

http://bit.ly/1o9E2EH

Thursday, September 25, 14

Page 27: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

https://portal.azure.com

Thursday, September 25, 14

Page 28: Getting Started with Puppet on Windows PuppetConf 2014

Presented by http://lego-technique.blogspot.com/

Thursday, September 25, 14

Page 29: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Quotes & Interpolation$taskmgr = 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe' registry_value { "${taskmgr}\\Debugger": ensure => present, type => string, data => 'c:\sysinternals\procexp.exe', require => Package['sysinternals'],}

Thursday, September 25, 14

Page 30: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Windows Accountsgroup { 'Administrators': ensure => present, members => ['Administrator', 'S-1-5-19', 'NT AUTHORITY\Network Service'],}

Thursday, September 25, 14

Page 31: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Case Sensitivitypackage { 'javaruntime': ensure => installed, provider => chocolatey, before => Service['jenkinsslave'],}service { 'jenkinsslave': ensure => running, enable => true,}

Thursday, September 25, 14

Page 32: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Why oh Whyfile { 'C:\Windows\system32': ensure => directory}file { 'C:\Windows\sysnative': ensure => directory}

Thursday, September 25, 14

Page 33: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

UAC is sort of like sudoish...

Thursday, September 25, 14

Page 34: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Where’s my data?

Thursday, September 25, 14

Page 35: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

platform { 'windows': ensure => firstclass}

Thursday, September 25, 14

Page 36: Getting Started with Puppet on Windows PuppetConf 2014

Presented by

Next StepsDocumentation: http://docs.puppetlabs.com/windows

Training: Puppet Essentials for Windows

Google Groups: puppet-users & puppet-dev

https://ask.puppetlabs.com

https://tickets.puppetlabs.com

Thursday, September 25, 14

Page 37: Getting Started with Puppet on Windows PuppetConf 2014

Do You Speak ?

http://puppetlabs.com/jobs

Thursday, September 25, 14

Page 38: Getting Started with Puppet on Windows PuppetConf 2014

Thank You!

Josh [email protected]

@coopjn

Thursday, September 25, 14