Getting Started with Puppet on Windows PuppetConf 2014
- 1. 2014
Presented by
Getting Started
with Puppet on
Windows
Josh Cooper
Principal Engineer | Puppet Labs
@coopjn
Thursday, September 25, 14
- 2. Presented by
What not to do
1 @echo off
2 net stop w32time
3 w32tm /config /syncfromflags:manual
/manualpeerlist:"0.pool.ntp.org,1.pool.ntp.org"
4 net start w32time
Thursday, September 25, 14
- 4. Presented by
Overview
What is Puppet?
Getting started
Effectively managing Windows with Puppet
Thursday, September 25, 14
- 6. #puppetize
registry_value { 'HKLMSystem...W32TimeParametersNtpServer':
ensure => present,
type => array,
data => ['0.pool.ntp.org','1.pool.ntp.org'],
notify => Service['w32time'],
}
service { 'w32time':
ensure => running,
enable => true,
}
Presented by
Thursday, September 25, 14
- 8. Presented by
service { 'w32time':
ensure => running,
enable => true,
}
Thursday, September 25, 14
- 9. Relationships
registry_value { 'HKLMSystem...W32TimeParametersNtpServer':
...
notify => Service['w32time'],
}
service { 'w32time':
...
}
Presented by
Thursday, September 25, 14
- 10. Presented by
Getting Started
• Supported Platforms
• Installation
• Applications
• Resources
Thursday, September 25, 14
- 20. Presented by
Resources
• Core
• Supported Modules
• Community Modules
• Tooling
Thursday, September 25, 14
- 21. Presented by
Core Resources
exec
file
host
user
group
package
service
scheduled_task
Thursday, September 25, 14
- 22. Presented by
Supported Modules
acl
powershell
reboot
registry
concat
stdlib
inifile
java_ks
Thursday, September 25, 14
- 29. Presented by
Quotes & Interpolation
$taskmgr = 'HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution
Optionstaskmgr.exe'
registry_value { "${taskmgr}Debugger":
ensure => present,
type => string,
data => 'c:sysinternalsprocexp.exe',
require => Package['sysinternals'],
}
Thursday, September 25, 14
- 30. Presented by
Windows Accounts
group { 'Administrators':
ensure => present,
members => ['Administrator', 'S-1-5-19', 'NT AUTHORITYNetwork Service'],
}
Thursday, September 25, 14
- 31. Presented by
Case Sensitivity
package { 'javaruntime':
ensure => installed,
provider => chocolatey,
before => Service['jenkinsslave'],
}
service { 'jenkinsslave':
ensure => running,
enable => true,
}
Thursday, September 25, 14
- 32. Presented by
Why oh Why
file { 'C:Windowssystem32':
ensure => directory
}
file { 'C:Windowssysnative':
ensure => directory
}
Thursday, September 25, 14
- 36. Next Steps
Documentation: http://docs.puppetlabs.com/windows
Training: Puppet Essentials for Windows
Google Groups: puppet-users & puppet-dev
https://ask.puppetlabs.com
https://tickets.puppetlabs.com
Presented by
Thursday, September 25, 14
- 37. Do You Speak ?
http://puppetlabs.com/jobs
Thursday, September 25, 14
- 38. Thank You!
Josh Cooper
josh@puppetlabs.com
@coopjn
Thursday, September 25, 14