Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shipping Ships that Ship Ships
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Stefano Zanella
April 08, 2014
Programming
0
50
Shipping Ships that Ship Ships
(aka: shipping Puppet modules as native packages)
Stefano Zanella
April 08, 2014
Tweet
Share
More Decks by Stefano Zanella
See All by Stefano Zanella
FChain: toward black-box online fault localization for cloud systems
stefanozanella
0
240
Other Decks in Programming
See All in Programming
Fluid Templating in TYPO3 14
s2b
0
130
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
330
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
AI巻き込み型コードレビューのススメ
nealle
2
1.5k
2026年 エンジニアリング自己学習法
yumechi
0
140
dchart: charts from deck markup
ajstarks
3
1k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
150
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
CSC307 Lecture 03
javiergs
PRO
1
490
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
CSC307 Lecture 10
javiergs
PRO
1
660
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
New Earth Scene 8
popppiees
1
1.6k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
GitHub's CSS Performance
jonrohan
1032
470k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
Leo the Paperboy
mayatellez
4
1.4k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The Spectacular Lies of Maps
axbom
PRO
1
530
Building the Perfect Custom Keyboard
takai
2
690
Designing Experiences People Love
moore
144
24k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Transcript
Shipping ships that ship ships (aka: shipping Puppet modules as
native packages) Stefano Zanella PuppetCamp Paris 08 Apr 2014
None
ne pas http://movieposters.2038.net/p/Tirez-Sur-Le-Pianiste_1.jpg
http://cdn.filmschoolrejects.com/images/Rotten-Tomatoes-e1344326498598.jpeg
http://cdn.memegenerator.net/instances/500x/48199068.jpg
@stefano_zanella github.com/stefanozanella blog.dontwakethecat.net
http://i.imgur.com/29EcG.jpg
Why?
None
much movies such screenz very BTS. wow
Phase 0 black-box provisioning :-(
Phase 1 trial-and-error puppetization :-)
puppetmasters
http://cdn.memegenerator.net/instances/500x/48230642.jpg
http://911review.com/errors/pentagon/imgs/f4_1.jpg
What about librarian-puppet?
http://pulpproject.org
None
None
…let’s write a gem!
The idea Puppet code rake (rpm|deb) (rpm|deb) package
The rules 1) Be nice to others
The rules 2) Don’t reinvent (too much of) the wheel
Welcome puppet_module_packaging (Naming anyone? No?? Sure???)
Modulefile + fpm
(find /etc/puppet/modules/{ssh,rsync,…,ceilometer,openstack}/ -type f -print0 | du --files0-from=- -hc |
tail -n 1) 2> /dev/null ! 7.1M total
(find /etc/puppet/modules/{ssh,rsync,…,ceilometer,openstack}/ {manifests,lib,Modulefile,metadata.json} -type f -print0 | du --files0-from=- -hc
| tail -n 1) 2> /dev/null ! 3.8M total
puppet-mod-<author>-<name>
:recursive => true
Live coding
The end?
WANTED conflicts/replacements CLI UI error handling metadata.json Puppetfile support? …
BONUS r10k
BONUS r10k (GOTCHA: does NOT resolve dependencies, and so it
is UP TO YOU to track them in your Puppetfile)
BONUS r10k http://somethingsinistral.net/blog/rethinking-puppet-deployment ! http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-1
Thanks @stefano_zanella https://github.com/stefanozanella blog.dontwakethecat.net ! https://github.com/stefanozanella/puppet_module_packaging
Q&A