SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
modulesyncmodulesync
HowHow Vox PupuliVox Pupuli ManagesManages 133133 141 modules141 modules
1 / 211 / 21
What isWhat is Vox PupuliVox Pupuli
2 / 212 / 21
modulesyncmodulesync
HowHow Vox PupuliVox Pupuli ManagesManages 133133 141 modules141 modules
1 / 211 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
3 / 21
What isWhat is Vox PupuliVox Pupuli
2 / 212 / 21
What?
Who?
Amount of Vox Pupuli members with merge permissions img
Vox Pupuli
@bastelsblog for @voxpupuliorg
4 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
3 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
5 / 21
What?
Who?
Amount of Vox Pupuli members with merge permissions
2016-11 2017-10 2018-02 2018-07 2018-11 2019-01 2019-06 2019-10 2020-01 2020-05
0
20
40
60
80
100
120
140
160
Vox Pupuli
@bastelsblog for @voxpupuliorg
4 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
6 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
5 / 21
How? image
Vox Pupuli
7 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
6 / 21
How?
Standards
Unified module file/directory structure
Vox Pupuli
@bastelsblog for @voxpupuliorg
8 / 21
How?
Vox Pupuli
7 / 21
How?
Standards
Unified module file/directory structure
Unified code style
Vox Pupuli
@bastelsblog for @voxpupuliorg
8 / 21
How?
Standards
Unified module file/directory structure
Vox Pupuli
@bastelsblog for @voxpupuliorg
8 / 21
How?
Standards
Unified module file/directory structure
Unified code style
Unified review guidelines and testsuites with CI
Vox Pupuli
@bastelsblog for @voxpupuliorg
8 / 21
How?
Standards
Unified module file/directory structure
Unified code style
Vox Pupuli
@bastelsblog for @voxpupuliorg
8 / 21
How?
Standards
Documentation
Review guidelines: voxpupuli.org/docs/reviewing_pr
CONTRIBUTING.md
Explain how the PR creator can test their changes
Explain what happens after a PR was created
Templates for raising issues / creating a PR
Vox Pupuli
@bastelsblog for @voxpupuliorg
9 / 21
How?
Standards
Unified module file/directory structure
Unified code style
Unified review guidelines and testsuites with CI
Vox Pupuli
@bastelsblog for @voxpupuliorg
8 / 21
How?
Standards
Documentation
modulesync
We are managing more than 141 modules
113 in July 2019
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
10 / 21
How?
Standards
Documentation
Review guidelines: voxpupuli.org/docs/reviewing_pr
CONTRIBUTING.md
Explain how the PR creator can test their changes
Explain what happens after a PR was created
Templates for raising issues / creating a PR
Vox Pupuli
@bastelsblog for @voxpupuliorg
9 / 21
How?
Standards
Documentation
modulesync
The generic tool: github.com/voxpupuli/modulesync
The Vox Pupuli specific configuration:
github.com/voxpupuli/modulesync_config
Because of the separation, every organisation can use it
With Vox Pupuli configs
Or with own configs
Vox Pupuli
@bastelsblog for @voxpupuliorg
11 / 21
How?
Standards
Documentation
modulesync
We are managing more than 141 modules
113 in July 2019
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
10 / 21
How?
Standards
Documentation
modulesync
modulesync_config docroot
Vox Pupuli
12 / 21
How?
Standards
Documentation
modulesync
The generic tool: github.com/voxpupuli/modulesync
The Vox Pupuli specific configuration:
github.com/voxpupuli/modulesync_config
Because of the separation, every organisation can use it
With Vox Pupuli configs
Or with own configs
Vox Pupuli
@bastelsblog for @voxpupuliorg
11 / 21
How?
Standards
Documentation
modulesync
modulesync_config docroot
Vox Pupuli
13 / 21
How?
Standards
Documentation
modulesync
Vox Pupuli
12 / 21
How?
Standards
Documentation
modulesync
Setup
# checkout latest modulesync_config release
git checkout $(git tag --list | sort -V | tail -n1)
message="modulesync $(git describe)"
Sync all modules and create Pull Requests with a label
bundle exec msync update --message "{$message}" 
--pr --pr-labels modulesync --pr-title "${message}"
Apply template to one module, don't commit
bundle exec msync update --filter "${module_name}" --noop
Vox Pupuli
@bastelsblog for @voxpupuliorg
14 / 21
How?
Standards
Documentation
modulesync
Vox Pupuli
13 / 21
How?
Standards
Documentation
modulesync
modulesync PR
Vox Pupuli
15 / 21
How?
Standards
Documentation
modulesync
Setup
# checkout latest modulesync_config release
git checkout $(git tag --list | sort -V | tail -n1)
message="modulesync $(git describe)"
Sync all modules and create Pull Requests with a label
bundle exec msync update --message "{$message}" 
--pr --pr-labels modulesync --pr-title "${message}"
Apply template to one module, don't commit
bundle exec msync update --filter "${module_name}" --noop
Vox Pupuli
@bastelsblog for @voxpupuliorg
14 / 21
How?
Standards
Documentation
modulesync
Travis-CI
Free platform
rpsec-puppet common Puppet*Ruby versions
release modules to the forge
10-60min per module
Soon we will move some workload git GitHub Actions to speed things up
Vox Pupuli
@bastelsblog for @voxpupuliorg
16 / 21
How?
Standards
Documentation
modulesync
Vox Pupuli
15 / 21
How?
Standards
Documentation
modulesync
Travis-CI
Beaker
creates a virtual machine or docker instance
starts a complete OS in it
executes puppet in it
checks if everything looks as expected
Vox Pupuli
@bastelsblog for @voxpupuliorg
17 / 21
How?
Standards
Documentation
modulesync
Travis-CI
Free platform
rpsec-puppet common Puppet*Ruby versions
release modules to the forge
10-60min per module
Soon we will move some workload git GitHub Actions to speed things up
Vox Pupuli
@bastelsblog for @voxpupuliorg
16 / 21
How?
Standards
Documentation
modulesync
Travis-CI
Beaker
travis CI matrix
Vox Pupuli
18 / 21
How?
Standards
Documentation
modulesync
Travis-CI
Beaker
creates a virtual machine or docker instance
starts a complete OS in it
executes puppet in it
checks if everything looks as expected
Vox Pupuli
@bastelsblog for @voxpupuliorg
17 / 21
Summary We have great tooling and automation
We have great people
Vox Pupuli
@bastelsblog for @voxpupuliorg
19 / 21
How?
Standards
Documentation
modulesync
Travis-CI
Beaker
Vox Pupuli
18 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
20 / 21
Summary We have great tooling and automation
We have great people
Vox Pupuli
@bastelsblog for @voxpupuliorg
19 / 21
Summary You want to help out?
We are always looking for new Collaborators and Maintainers
Contact:
IRC #voxpupuli on freenode
Slack: #voxpupuli on slack.puppet.com
Mailinglist: voxpupuli@groups.io
pmc@voxpupuli.org
tim@bastelfreak.de
More talks at github.com/bastelfreak/talks
Thanks for your attention!
Vox Pupuli
21 / 21
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
Vox Pupuli
@bastelsblog for @voxpupuliorg
20 / 21
Summary You want to help out?
We are always looking for new Collaborators and Maintainers
Contact:
IRC #voxpupuli on freenode
Slack: #voxpupuli on slack.puppet.com
Mailinglist: voxpupuli@groups.io
pmc@voxpupuli.org
tim@bastelfreak.de
More talks at github.com/bastelfreak/talks
Thanks for your attention!
Vox Pupuli
21 / 21

Contenu connexe

Tendances

Virtual Bolt Workshop - April 1, 2020
Virtual Bolt Workshop - April 1, 2020Virtual Bolt Workshop - April 1, 2020
Virtual Bolt Workshop - April 1, 2020Puppet
 
Puppet Continuous Integration with PE and GitLab
Puppet Continuous Integration with PE and GitLabPuppet Continuous Integration with PE and GitLab
Puppet Continuous Integration with PE and GitLabAlessandro Franceschi
 
Puppetizing Your Organization
Puppetizing Your OrganizationPuppetizing Your Organization
Puppetizing Your OrganizationRobert Nelson
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introductionYi-Hsiu Hsu
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with PuppetAlessandro Franceschi
 
Augeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeAugeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeJulien Pivotto
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yoctoAlex Gonzalez
 
Puppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction KitPuppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction KitAlessandro Franceschi
 
Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2inside-BigData.com
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em PortuguêsOtavio Salvador
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stackKris Buytaert
 
Ansible Project Deploy (phpbenelux 2015)
Ansible Project Deploy (phpbenelux 2015)Ansible Project Deploy (phpbenelux 2015)
Ansible Project Deploy (phpbenelux 2015)Ramon de la Fuente
 
Puppet control-repo 
to the next level
Puppet control-repo 
to the next levelPuppet control-repo 
to the next level
Puppet control-repo 
to the next levelAlessandro Franceschi
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovskyphp-user-group-minsk
 
Yocto and IoT - a retrospective
Yocto and IoT - a retrospectiveYocto and IoT - a retrospective
Yocto and IoT - a retrospectiveOpen-RnD
 
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 

Tendances (20)

Virtual Bolt Workshop - April 1, 2020
Virtual Bolt Workshop - April 1, 2020Virtual Bolt Workshop - April 1, 2020
Virtual Bolt Workshop - April 1, 2020
 
Ansible project-deploy
Ansible project-deployAnsible project-deploy
Ansible project-deploy
 
Puppet Continuous Integration with PE and GitLab
Puppet Continuous Integration with PE and GitLabPuppet Continuous Integration with PE and GitLab
Puppet Continuous Integration with PE and GitLab
 
Puppetizing Your Organization
Puppetizing Your OrganizationPuppetizing Your Organization
Puppetizing Your Organization
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Tp install anything
Tp install anythingTp install anything
Tp install anything
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
 
Augeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeAugeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet tree
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
Puppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction KitPuppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction Kit
 
Puppet evolutions
Puppet evolutionsPuppet evolutions
Puppet evolutions
 
Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em Português
 
Puppet: From 0 to 100 in 30 minutes
Puppet: From 0 to 100 in 30 minutesPuppet: From 0 to 100 in 30 minutes
Puppet: From 0 to 100 in 30 minutes
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stack
 
Ansible Project Deploy (phpbenelux 2015)
Ansible Project Deploy (phpbenelux 2015)Ansible Project Deploy (phpbenelux 2015)
Ansible Project Deploy (phpbenelux 2015)
 
Puppet control-repo 
to the next level
Puppet control-repo 
to the next levelPuppet control-repo 
to the next level
Puppet control-repo 
to the next level
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
Yocto and IoT - a retrospective
Yocto and IoT - a retrospectiveYocto and IoT - a retrospective
Yocto and IoT - a retrospective
 
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 

Similaire à Modulesync- How vox pupuli manages 133 modules, Tim Meusel

PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...
PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...
PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...Puppet
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerPuppet
 
Don't be the bottleneck of your open source project!
Don't be the bottleneck of your open source project!Don't be the bottleneck of your open source project!
Don't be the bottleneck of your open source project!Julien Pivotto
 
Puppetconf2011 small
Puppetconf2011 smallPuppetconf2011 small
Puppetconf2011 smallPuppet
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenvamenasse
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
 
PuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppet
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Martin Bergljung
 
Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)Drew Fustini
 
PuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppet
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPhil Zimmerman
 
Do you know all of Puppet?
Do you know all of Puppet?Do you know all of Puppet?
Do you know all of Puppet?Julien Pivotto
 
Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy
Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy
Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy Fasten Project
 
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN projectSFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN projectSouth Tyrol Free Software Conference
 
Uyuni is now translatable
Uyuni is now translatableUyuni is now translatable
Uyuni is now translatableUyuni Project
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationNicolas Fränkel
 
Uyuni Community Hours 31.07.2020
Uyuni Community Hours 31.07.2020Uyuni Community Hours 31.07.2020
Uyuni Community Hours 31.07.2020Uyuni Project
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 

Similaire à Modulesync- How vox pupuli manages 133 modules, Tim Meusel (20)

PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...
PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...
PuppetConf 2017: Vox Pupuli- The Funny Community Journey- Tim Meusel, Go Dadd...
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
 
Don't be the bottleneck of your open source project!
Don't be the bottleneck of your open source project!Don't be the bottleneck of your open source project!
Don't be the bottleneck of your open source project!
 
Puppetconf2011 small
Puppetconf2011 smallPuppetconf2011 small
Puppetconf2011 small
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
 
PuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet Applied
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)
 
PuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside Puppet
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
 
Do you know all of Puppet?
Do you know all of Puppet?Do you know all of Puppet?
Do you know all of Puppet?
 
Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy
Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy
Presentation of the FASTEN project, Conference SFScon, Bolzano, Italy
 
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN projectSFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
 
Uyuni is now translatable
Uyuni is now translatableUyuni is now translatable
Uyuni is now translatable
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
 
Uyuni Community Hours 31.07.2020
Uyuni Community Hours 31.07.2020Uyuni Community Hours 31.07.2020
Uyuni Community Hours 31.07.2020
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 

Plus de Puppet

Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 

Plus de Puppet (20)

Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 

Dernier

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Modulesync- How vox pupuli manages 133 modules, Tim Meusel

  • 1. modulesyncmodulesync HowHow Vox PupuliVox Pupuli ManagesManages 133133 141 modules141 modules 1 / 211 / 21
  • 2. What isWhat is Vox PupuliVox Pupuli 2 / 212 / 21 modulesyncmodulesync HowHow Vox PupuliVox Pupuli ManagesManages 133133 141 modules141 modules 1 / 211 / 21
  • 3. 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 Vox Pupuli @bastelsblog for @voxpupuliorg 3 / 21 What isWhat is Vox PupuliVox Pupuli 2 / 212 / 21
  • 4. What? Who? Amount of Vox Pupuli members with merge permissions img Vox Pupuli @bastelsblog for @voxpupuliorg 4 / 21 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 Vox Pupuli @bastelsblog for @voxpupuliorg 3 / 21
  • 5. 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 Vox Pupuli @bastelsblog for @voxpupuliorg 5 / 21 What? Who? Amount of Vox Pupuli members with merge permissions 2016-11 2017-10 2018-02 2018-07 2018-11 2019-01 2019-06 2019-10 2020-01 2020-05 0 20 40 60 80 100 120 140 160 Vox Pupuli @bastelsblog for @voxpupuliorg 4 / 21
  • 6. 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 Vox Pupuli @bastelsblog for @voxpupuliorg 6 / 21 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 Vox Pupuli @bastelsblog for @voxpupuliorg 5 / 21
  • 7. How? image Vox Pupuli 7 / 21 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 Vox Pupuli @bastelsblog for @voxpupuliorg 6 / 21
  • 8. How? Standards Unified module file/directory structure Vox Pupuli @bastelsblog for @voxpupuliorg 8 / 21 How? Vox Pupuli 7 / 21
  • 9. How? Standards Unified module file/directory structure Unified code style Vox Pupuli @bastelsblog for @voxpupuliorg 8 / 21 How? Standards Unified module file/directory structure Vox Pupuli @bastelsblog for @voxpupuliorg 8 / 21
  • 10. How? Standards Unified module file/directory structure Unified code style Unified review guidelines and testsuites with CI Vox Pupuli @bastelsblog for @voxpupuliorg 8 / 21 How? Standards Unified module file/directory structure Unified code style Vox Pupuli @bastelsblog for @voxpupuliorg 8 / 21
  • 11. How? Standards Documentation Review guidelines: voxpupuli.org/docs/reviewing_pr CONTRIBUTING.md Explain how the PR creator can test their changes Explain what happens after a PR was created Templates for raising issues / creating a PR Vox Pupuli @bastelsblog for @voxpupuliorg 9 / 21 How? Standards Unified module file/directory structure Unified code style Unified review guidelines and testsuites with CI Vox Pupuli @bastelsblog for @voxpupuliorg 8 / 21
  • 12. How? Standards Documentation modulesync We are managing more than 141 modules 113 in July 2019 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 Vox Pupuli @bastelsblog for @voxpupuliorg 10 / 21 How? Standards Documentation Review guidelines: voxpupuli.org/docs/reviewing_pr CONTRIBUTING.md Explain how the PR creator can test their changes Explain what happens after a PR was created Templates for raising issues / creating a PR Vox Pupuli @bastelsblog for @voxpupuliorg 9 / 21
  • 13. How? Standards Documentation modulesync The generic tool: github.com/voxpupuli/modulesync The Vox Pupuli specific configuration: github.com/voxpupuli/modulesync_config Because of the separation, every organisation can use it With Vox Pupuli configs Or with own configs Vox Pupuli @bastelsblog for @voxpupuliorg 11 / 21 How? Standards Documentation modulesync We are managing more than 141 modules 113 in July 2019 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 Vox Pupuli @bastelsblog for @voxpupuliorg 10 / 21
  • 14. How? Standards Documentation modulesync modulesync_config docroot Vox Pupuli 12 / 21 How? Standards Documentation modulesync The generic tool: github.com/voxpupuli/modulesync The Vox Pupuli specific configuration: github.com/voxpupuli/modulesync_config Because of the separation, every organisation can use it With Vox Pupuli configs Or with own configs Vox Pupuli @bastelsblog for @voxpupuliorg 11 / 21
  • 15. How? Standards Documentation modulesync modulesync_config docroot Vox Pupuli 13 / 21 How? Standards Documentation modulesync Vox Pupuli 12 / 21
  • 16. How? Standards Documentation modulesync Setup # checkout latest modulesync_config release git checkout $(git tag --list | sort -V | tail -n1) message="modulesync $(git describe)" Sync all modules and create Pull Requests with a label bundle exec msync update --message "{$message}" --pr --pr-labels modulesync --pr-title "${message}" Apply template to one module, don't commit bundle exec msync update --filter "${module_name}" --noop Vox Pupuli @bastelsblog for @voxpupuliorg 14 / 21 How? Standards Documentation modulesync Vox Pupuli 13 / 21
  • 17. How? Standards Documentation modulesync modulesync PR Vox Pupuli 15 / 21 How? Standards Documentation modulesync Setup # checkout latest modulesync_config release git checkout $(git tag --list | sort -V | tail -n1) message="modulesync $(git describe)" Sync all modules and create Pull Requests with a label bundle exec msync update --message "{$message}" --pr --pr-labels modulesync --pr-title "${message}" Apply template to one module, don't commit bundle exec msync update --filter "${module_name}" --noop Vox Pupuli @bastelsblog for @voxpupuliorg 14 / 21
  • 18. How? Standards Documentation modulesync Travis-CI Free platform rpsec-puppet common Puppet*Ruby versions release modules to the forge 10-60min per module Soon we will move some workload git GitHub Actions to speed things up Vox Pupuli @bastelsblog for @voxpupuliorg 16 / 21 How? Standards Documentation modulesync Vox Pupuli 15 / 21
  • 19. How? Standards Documentation modulesync Travis-CI Beaker creates a virtual machine or docker instance starts a complete OS in it executes puppet in it checks if everything looks as expected Vox Pupuli @bastelsblog for @voxpupuliorg 17 / 21 How? Standards Documentation modulesync Travis-CI Free platform rpsec-puppet common Puppet*Ruby versions release modules to the forge 10-60min per module Soon we will move some workload git GitHub Actions to speed things up Vox Pupuli @bastelsblog for @voxpupuliorg 16 / 21
  • 20. How? Standards Documentation modulesync Travis-CI Beaker travis CI matrix Vox Pupuli 18 / 21 How? Standards Documentation modulesync Travis-CI Beaker creates a virtual machine or docker instance starts a complete OS in it executes puppet in it checks if everything looks as expected Vox Pupuli @bastelsblog for @voxpupuliorg 17 / 21
  • 21. Summary We have great tooling and automation We have great people Vox Pupuli @bastelsblog for @voxpupuliorg 19 / 21 How? Standards Documentation modulesync Travis-CI Beaker Vox Pupuli 18 / 21
  • 22. 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 Vox Pupuli @bastelsblog for @voxpupuliorg 20 / 21 Summary We have great tooling and automation We have great people Vox Pupuli @bastelsblog for @voxpupuliorg 19 / 21
  • 23. Summary You want to help out? We are always looking for new Collaborators and Maintainers Contact: IRC #voxpupuli on freenode Slack: #voxpupuli on slack.puppet.com Mailinglist: voxpupuli@groups.io pmc@voxpupuli.org tim@bastelfreak.de More talks at github.com/bastelfreak/talks Thanks for your attention! Vox Pupuli 21 / 21 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 Vox Pupuli @bastelsblog for @voxpupuliorg 20 / 21
  • 24. Summary You want to help out? We are always looking for new Collaborators and Maintainers Contact: IRC #voxpupuli on freenode Slack: #voxpupuli on slack.puppet.com Mailinglist: voxpupuli@groups.io pmc@voxpupuli.org tim@bastelfreak.de More talks at github.com/bastelfreak/talks Thanks for your attention! Vox Pupuli 21 / 21