Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction to Puppet
Search
Stephen Johnson
March 20, 2013
Technology
99
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Puppet
I talk i gave as in introduction to puppet
Stephen Johnson
March 20, 2013
More Decks by Stephen Johnson
See All by Stephen Johnson
Exported Configs == Better Puppet
stephenrjohnson
0
420
Mcollective Talk
stephenrjohnson
0
77
Failing the correct way
stephenrjohnson
1
60
Love/Hate Puppet Melbourne
stephenrjohnson
2
440
Other Decks in Technology
See All in Technology
Running Kotlin + Quarkus with Lambda
nealle
1
3.7k
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
860
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
170
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
190
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Tell your own story through comics
letsgokoyo
1
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Side Projects
sachag
456
43k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Un-Boring Meetings
codingconduct
0
460
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Transcript
Puppet The awesomenessness that is Wednesday, 20 March 13
The 3 Things • Laziness • Impatience • Hubris Three
Great Virtues of a Programmer (or Sysadmin) — Larry Wall Wednesday, 20 March 13
Laziness • Is a good thing • Automate, Automate, Automate
• Remove the boring jobs • I dont want to do that myself Wednesday, 20 March 13
Impatience • I want it done now • Why do
we have to take x to build y machine • I dont care about how its done, just get it done Wednesday, 20 March 13
Hubris • You want to look awesome • You want
your infrastructure to be cooler Wednesday, 20 March 13
I want to be this guy Wednesday, 20 March 13
What not to do • Custom script ( The guy
left) • Gold image ( List of post clone stuff) • Manual ( Arrr you kidding ) • Massive RPM of doom ( The guy left) Wednesday, 20 March 13
What you need to do • Remove the snow flake
machines • Stop the, ‘i changed that config’ • Cookie cutter machines • Dont care about them anymore Wednesday, 20 March 13
Puppet gets you Knowledge • Version controlled infrastructure • Convergence
( Get back in line MOFO ) • Reporting • Query-ability • AKA AWESOMENESS • Removing the WTF / FAIL Wednesday, 20 March 13
Cat picture Wednesday, 20 March 13
Puppet FTW • Automation • Abstraction • Repeatable • Reportable
• AWESOMEABLE Wednesday, 20 March 13
Automate • Ntp config • Apache config • Mysql config
• Syslog config • AKA EVERYTHING Wednesday, 20 March 13
How Puppet Works Wednesday, 20 March 13
But how class sysadmins { user { 'elmo': ensure =>
present, gid => 'sysadmin', home => '/home/sysadmins/elmo', } group { 'sysadmin': ensure => present, } } Wednesday, 20 March 13
Wait there is more node webserver {
@@file { "/etc/nagios/conf.d/$::{fqdn}.apachecheck.conf": content => "nagios check stuff \n", tag => "nagioscheck", } } node nagiosmachine { File <<| tag == 'nagioscheck' |>> } Wednesday, 20 March 13
How does that work • Puppetdb • Stores configs •
Scalable • AWESOMENESS Wednesday, 20 March 13
The data problem • Puppet modules without hard-coded data are
easily shared and more re-usable • Infrastructure configuration can be managed without needing to edit Puppet code Wednesday, 20 March 13
BAD DATA Wednesday, 20 March 13
Example if ( $::environment == ‘dev’ ) { $ntpserver =
‘192.168.2.1’ } else { if ( $::fqdn == ‘host4.mycorp.com’) { $ntpserver = ‘127.0.0.1’ } else { $ntpserver = ‘213.21.6.4’ } } Wednesday, 20 March 13
Heira • Is the future Wednesday, 20 March 13
Remove Data from Code • Hiera uses information to determine
a hierarchy • Top down hierarchy for overriding configuration values based on roles, environments, locations.... or anything else • And do this without any coding! Wednesday, 20 March 13
Puppet 3.0 • Hiera is integrated into the core product
• Introduces data mapping for parameterized classes • Backwards compatible Wednesday, 20 March 13
Good Data Wednesday, 20 March 13
Learn more • docs.puppetlabs.com • Training •
[email protected]
Wednesday, 20
March 13
Question Wednesday, 20 March 13