37
Getting Started with Puppet on Windows Josh Cooper Principal Software Engineer Puppet Labs @coopjn

Puppet camp Portland 2015: -windows (1)

Embed Size (px)

Citation preview

Getting Started with Puppet on Windows

Josh CooperPrincipal Software Engineer

Puppet Labs@coopjn

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

Presented by

Presented by

Overview What is Puppet?

Getting started

Effectively managing Windows with Puppet

Presented by

What is Puppet?

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,}

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'],}

Presented by

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

Presented by

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

Presented by

Getting Started• Supported Platforms

• Installation

• Applications

• Resources

Presented by

to

Presented by

Presented by

Presented by

Presented by

Applications• resource

• apply

• agent

Presented by

puppet resource

Presented by

packages

Presented by

puppet apply

Presented by

puppet agent

Presented by

Resources• Core

• Windows Module Pack

• Community Modules

• Tooling

Presented by

Core Resourcesexec

file

host

user

group

package

service

scheduled_task

Presented by

Windows Module Pack

acl

powershell

reboot

registry

sqlserver*

opentable-iis

opentable-windowsfeature

opentable-download_file

https://forge.puppetlabs.com/puppetlabs/windows

Presented by

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

Paul Stack & Liam Bennett (OpenTable)

Rich Siegel

Marc Sutter

Presented by

puppet modulemaybe we skip this?

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

Presented by

http://bit.ly/1o9E2EH

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

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'],}

Presented by

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

Presented by

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

Presented by

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

3.7 and upfile { $system32: ensure => directory}

Presented by

UAC is sort of like sudoish...

Presented by

Where’s my data?

Presented by

platform { 'windows': ensure => firstclass}

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

Do You Speak ?

http://puppetlabs.com/jobs

Thank You!

Josh [email protected]

@coopjn