+ - 0:00:00
Notes for current slide
Notes for next slide

Vox Pupuli - Empowering the Puppet Community

Spontaneous OSDC 2019 Edition

Spontaneous Contributor Summit Edition

1 / 14

Vox Pupuli

What?

  • Maintain many many Puppet modules

  • Be helpful and polite to each other

    • Be open-minded to people and technology
  • Provide a home for orphaned Puppet modules

  • Unite lonely module and tooling authors to a collective

  • Ensure continued development for our code

@bastelsblog for @voxpupuliorg

2 / 14

Vox Pupuli

What?

Who?

  • Currently 134 people with merge permissions

    • We were 113 in February 2018

    • We were 107 in October 2017

    • We were 80 in November 2016

  • Just a few people work for Puppet Inc.

  • Most of the contributors participate in their free time

  • Normal administrators that have to deal with puppet at work

@bastelsblog for @voxpupuliorg

3 / 14

Vox Pupuli

What?

Who?

  • Many git newbies

    • Rebasing a feature branch against upstream master is hard
  • Many newcomers to test frameworks

    • Dealing with rspec/rubocop/beaker is hard as well
  • Many administrators of legacy infrastructures

    • Stuff older than Puppet 5 without proper hiera5/datatype support

@bastelsblog for @voxpupuliorg

4 / 14

Vox Pupuli

What?

Who?

Why?

  • Maintaining a module on your own is hard

    • Changing best practices, vacations, losing interest
  • Proper testing of a module requires a lot of stuff from the ruby ecosystem

    • Ruby ecosystem and related tools are changing too fast for a single person

    • Everything has to work on multiple Ruby/Puppet versions

    • Rubocop

    • Rubocop

@bastelsblog for @voxpupuliorg

5 / 14

Vox Pupuli

How?

Right-aligned image

6 / 14

Vox Pupuli

How?

modulesync

  • We are managing more than 113 modules

  • modulesync was developed by Puppet Inc, moved to Vox Pupuli

  • It takes a config file + templates, throws it into every modules git repo

  • Everybody can start it

@bastelsblog for @voxpupuliorg

7 / 14

Vox Pupuli

How?

modulesync

travis

Right-aligned image

  • Free platform

  • rpsec-puppet common Puppet*Ruby versions

  • release modules to the forge

  • 10-60min per module

@bastelsblog for @voxpupuliorg

8 / 14

Vox Pupuli

How?

modulesync

travis

beaker

  • creates a virtual machine or docker instance

  • starts a complete OS in it

  • executes puppet in it

  • checks if everything looks as expected

@bastelsblog for @voxpupuliorg

9 / 14

Vox Pupuli

How?

modulesync

travis

beaker

Can be executed:

  • on your notebook before you contribute a patch (same for rspec)

  • with docker on travis

@bastelsblog for @voxpupuliorg

10 / 14

Vox Pupuli

How?

modulesync

travis

beaker

Tooling

@bastelsblog for @voxpupuliorg

11 / 14

Vox Pupuli

Summary

  • We have great tooling and automation

  • We have great people

@bastelsblog for @voxpupuliorg

12 / 14

Vox Pupuli

Summary

  • We have great tooling and automation

  • We have great people

  • You need help with Puppet?

    • Let us know, we help out!
  • You have an orphaned module?

    • Ping us, migrate it to us
  • You have domain specific knowledge?

    • Ruby, Python, Rspec, Beaker, $software we automate

@bastelsblog for @voxpupuliorg

13 / 14

Vox Pupuli

Summary

  • You want to help out?

    • We are always looking for new Collaborators and Maintainer

Contact:

  • IRC #voxpupuli on freenode

  • Slack: #voxpupuli on puppetcommunity.slack.com

  • voxpupuli@groups.io

  • pmc@voxpupuli.org

  • tim@bastelfreak.de

  • More talks at https://github.com/bastelfreak/talks

Thanks for your attention!

14 / 14

Vox Pupuli

What?

  • Maintain many many Puppet modules

  • Be helpful and polite to each other

    • Be open-minded to people and technology
  • Provide a home for orphaned Puppet modules

  • Unite lonely module and tooling authors to a collective

  • Ensure continued development for our code

@bastelsblog for @voxpupuliorg

2 / 14
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow