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
Foreman - from git init to official plugin
Search
Daniel Lobato García
February 03, 2015
Programming
0
220
Foreman - from git init to official plugin
Talk at Cfgmgmtcamp 2015 -
http://lanyrd.com/2015/cfgmgmtcamp/sdhfmw/
Daniel Lobato García
February 03, 2015
Tweet
Share
More Decks by Daniel Lobato García
See All by Daniel Lobato García
Computational Photography portfolio
elobato
1
3.3k
Intro to Foreman 2017 (cfgmgmtcamp Gent)
elobato
0
150
20 tips to secure your Rails application
elobato
0
110
20 actionable tips to secure your Rails application - Rails Israel '15
elobato
3
360
Foreman in the last year - Puppet NYC at Spotify
elobato
0
140
Provision and manage Docker containers with Foreman
elobato
0
680
Contributing to Foreman: where and how
elobato
0
86
Provision and manage Docker containers with Foreman
elobato
3
3.9k
Computing Infrastructure in Ruby
elobato
0
90
Other Decks in Programming
See All in Programming
Kotlin + Power-Assert 言語組み込みならではのAssertion Library採用と運用ベストプラクティス by Kazuki Matsuda/Gen-AX
kazukima
0
110
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
6
4.8k
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
140
FlutterKaigi 2025 システム裏側
yumnumm
0
750
r2-image-worker
yusukebe
1
170
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
310
KoogではじめるAIエージェント開発
hiroaki404
1
430
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
110
flutter_kaigi_2025.pdf
kyoheig3
1
220
SUZURIの規約違反チェックにおけるクリエイタフィードバックの試⾏錯誤/Trial and Error in Creator Feedback for SUZURI's Terms of Service Violation Checks
ae14watanabe
1
140
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
1
370
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Balancing Empowerment & Direction
lara
5
740
Gamification - CAS2011
davidbonilla
81
5.5k
A Tale of Four Properties
chriscoyier
161
23k
A better future with KSS
kneath
239
18k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Cult of Friendly URLs
andyhume
79
6.7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
Foreman from git init to official plugin
@eLobatoss Software for Devops Foreman core Puppeteer
None
None
Why write a plugin?
• Extra capabilities
• Extra capabilities • Quarterly release independence
• Extra capabilities • Quarterly release independence • Change core
behavior
Core: Plugin:
Core: improve volumes support Plugin:
Core: improve volumes support Plugin: Docker compute resource
Core: make multi-host power operations faster Plugin:
Core: make multi-host power operations faster Plugin: Nagios integration
Puppet should be (…)
Puppet should be a plugin
None
candy should Ansible support be part of core ?
recap Details? Plugin Abstraction? Core
plugins decomposed
Rails engines
git repositories
packaged:
packaged:
rails plugin new foo
rails plugin new foo (= for smart-proxy)
None
None
None
None
None
None
None
None
None
candy Foreman plugins are Rails ______
candy Foreman plugins are Rails engines
$ cat bundler.d/Gemfile.local.rb gem 'foreman_plugin', :path => "../foreman_plugin/" Testing
$ rake test:plugin_name Testing
official plugins
official plugins you
official plugins • submit PR to foreman-packaging
official plugins • submit PR to foreman-packaging • package dependencies
official plugins • submit PR to foreman-packaging • package dependencies
• add rake task to Jenkins (free CI!)
official plugins we
official plugins • plugin hosted in official repos
official plugins • plugin hosted in official repos • pull
requests run in Jenkins CI
official plugins • plugin hosted in official repos • pull
requests run in Jenkins CI • project official issue tracker
candy 1 advantage of making your plugin official is...
recap What is a plugin How to create a plugin
Make your plugin official
course material list of plugins – bit.ly/1x0u0J0 plugin engine docs
– bit.ly/1BQvecx foreman template – bit.ly/1zztpnP proxy template – bit.ly/16bGlnE
Get involved theforeman.org
Get involved github/theforeman
Get involved foreman-users foreman-dev
Get involved foreman-users foreman-dev
@eLobatoss Merci beaucoup! 谢谢 ! Thank you! 有難う御座います ! Gracias!
D kujeme vám! ě ! הבר הדות Dankeschön! Dank u!