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
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
99
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
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.7k
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
420
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
200
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
350
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
250
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
370
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.2k
Workers Cache を知る
syumai
0
320
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
580
エンジニアに許された特別な時間の終わり
watany
109
250k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
We Are The Robots
honzajavorek
0
380
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
500
ラッコキーワード サービス紹介資料
rakko
1
5.1M
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
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!