$30 off During Our Annual Pro Sale. View Details »
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
120
20 actionable tips to secure your Rails application - Rails Israel '15
elobato
3
370
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
94
Other Decks in Programming
See All in Programming
How Software Deployment tools have changed in the past 20 years
geshan
0
28k
俺流レスポンシブコーディング 2025
tak_dcxi
13
7.7k
sbt 2
xuwei_k
0
190
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.2k
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
360
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
730
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.9k
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
180
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
190
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.4k
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
110
CSC305 Lecture 15
javiergs
PRO
0
240
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Invisible Side of Design
smashingmag
302
51k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Practical Orchestrator
shlominoach
190
11k
Speed Design
sergeychernyshev
33
1.4k
Balancing Empowerment & Direction
lara
5
780
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
GitHub's CSS Performance
jonrohan
1032
470k
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!