Your SlideShare is downloading. ×
  • Like
Omnibus to the future!
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Omnibus to the future!


My talk at …

My talk at

Original at

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Omnibus to the future! cfgmgmtcamp
  • 2. Just enough OS
  • 3. Just enough packaging?
  • 4. @beddari on Twitter or Freenode
  • 5. 1. What? What is omnibus-style packaging?
  • 6. It is just vendoring! Gather your dependencies & bus them out
  • 7. The conceptual workflow 1. 2. 3. 4. Decide on a build prefix, maybe /opt/some_app Build in all the dependencies, runtimes, etc Build the app - only linking in stuff from /opt/some_app Wrap /opt/some_app into deb or rpm using fpm
  • 8. But is it juuuust vendoring? There is certainly more to be said
  • 9. 2. Why?
  • 10. It's an age-old debate ...
  • 11. ... but no topic is ever old on Twitter
  • 12. #packagingsucks #fixpackaging
  • 13. The young and fresh ...
  • 14. vs the old and wise?
  • 15. No, that's not it
  • 16. Maybe it is distros versus users?
  • 17. Move over Twitter, why do YOU use it? I like to use packages as my CI/CD artifact I promote omnibus packages as testable change sets Omnibus lets me worry (a bit) less about managing repos Less deps to resolve at provisioning == less trouble
  • 18. JeOS + omnibus-packages gives me ... SPEED Same process for Kickstarts, cloud images or containers fpm -s rpm -t dir ... Config management tool has a lot less to worry about Little need to master multi-deps packaging
  • 19. Dreaming of a different world What if distros contained THEIR Pythons and Rubies and whatever they needed? What if distros and upstream made friends <3 and together grew a toolset for rapid provisioning of full stacks? What if we had a generic, sharable packaging DSL?
  • 20. Not a dream after all? Pleaserun abstracts init scripts (Jordan Sissel is my hero) The concept of a OS is changing
  • 21. 3. How? Meanwhile, back on planet earth
  • 22. Tools of the trade omnibus-ruby fpm-cookery A lot of others like bunchr, pkgr ...
  • 23. omnibus-ruby A Ruby DSL/gem first and foremost created for making Chef packages Uses Ohai to gather knowledge about a system Very usable also for generic packaging - it uses fpm after all Tooling around it is tied to Chef
  • 24. omnibus-ruby gotchas! No mechanism for providing packages as build-time deps You could probably work around that Complains if you link to anything outside the sandbox It is not straigthforward to host your own software library
  • 25. fpm-cookery A gem that adds a generic packaging DSL on top of fpm Uses Puppet and Facter for abstractions Andy Sykes @supersheep contributed code to get omnibus-like features DSL contains definition of both build- and deploytime package dependencies
  • 26. fpm-cookery gotchas! Omnibus-enabled builds must be done as root No easy way of structuring internally dependent definitions; each project must have a copy of the Ruby definition file Ehm.. little or no documentation. Use teh source! :-O
  • 27. So ... ? I use both!
  • 28. 4. The Foreman
  • 29. I believe The Foreman as a project would benefit from having readily-available omnibus-style packages available for end users
  • 30. Use cases vagrant up really up before you've finished your morning coffee? Installing an omnibus package is easier than -enablerepo=x? We get an easy - dare I say correct - way of supporting Foreman within containers? Unpack, done. Foreman or Foreman proxy alongside other stuff on SmartOS? FreeBSD?
  • 31. I'm doing it, please stop me! (or try to help) Come chat with me after this in the hack room or ping me on Twitter Lets try and have something usable quickly Vagrant build lab? Binaries/repos at bintray?
  • 32. Thank you for listening!
  • 34. The Vagrant-based Foreman bootstrap process Provision Foreman all-in-one with Vagrant on VirtualBox Create an extra network on the instance Bridge that network to a 'real' physical network Use e.g PXE with Foreman in Vagrant to provision ... Foreman
  • 35. References John E. Vincent: Omnibus'ing your way to happiness Chef mailing list discussion Eat the Whole Bowl - Seth Chisamore and Christopher Maier Paul Czarkowski: Logstash + Opscode Omnibus Packaging Puppet using fpm-cookery, omnibus-style Various people on Foodfightshow on omnibus and concepts around it
  • 36. I'm for hire (remotely) Current availability: October