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
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Foreman - from git init to official plugin
Talk at Cfgmgmtcamp 2015 -
http://lanyrd.com/2015/cfgmgmtcamp/sdhfmw/
Daniel Lobato García
February 03, 2015
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
170
20 tips to secure your Rails application
elobato
0
130
20 actionable tips to secure your Rails application - Rails Israel '15
elobato
3
420
Foreman in the last year - Puppet NYC at Spotify
elobato
0
170
Provision and manage Docker containers with Foreman
elobato
0
740
Contributing to Foreman: where and how
elobato
0
98
Provision and manage Docker containers with Foreman
elobato
3
4k
Computing Infrastructure in Ruby
elobato
0
100
Other Decks in Programming
See All in Programming
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
220
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
460
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.8k
XHTMLが残したもの
yosuke_furukawa
PRO
2
430
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
680
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
120
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
3
430
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
2
1.9k
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
It's Worth the Effort
3n
188
29k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Why Our Code Smells
bkeepers
PRO
340
58k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Designing Experiences People Love
moore
143
24k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
450
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
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!