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
Shipping Ships that Ship Ships
Search
Stefano Zanella
April 08, 2014
Programming
60
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Shipping Ships that Ship Ships
(aka: shipping Puppet modules as native packages)
Stefano Zanella
April 08, 2014
More Decks by Stefano Zanella
See All by Stefano Zanella
FChain: toward black-box online fault localization for cloud systems
stefanozanella
0
260
Other Decks in Programming
See All in Programming
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
R8 の設定見直しでアプリサイズ削減
andpad
0
220
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
Domain-Driven Transformation
hschwentner
2
2.3k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
The Rails Doctrine Decade
koic
2
590
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
150
sbt 2.0: takeoff
eed3si9n
0
160
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
The untapped power of vector embeddings
frankvandijk
2
1.9k
What's in a price? How to price your products and services
michaelherold
247
13k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Raft: Consensus for Rubyists
vanstee
142
7.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.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