InfoWorld reports
Puppet, the configuration management and automation tool for datacenters, forms a major portion of the infrastructure supporting code-hosting service GitHub.
GitHub has now open-sourced one of its key Puppet tools, a system for previewing the effects that changes in Puppet configurations will have across thousands of machines.
Octocatalog-diff is a Ruby app that allows modifications to Puppet code to be previewed in detail. Thus, users can "ensure not only that it serves the intended purpose for the role at hand, but also to avoid causing unexpected side effects on other roles," as GitHub described in its blog post about the software.
- Bigger changes require better tools
GitHub had three big use cases for Puppet that demanded a unified tool like Octocatalog-diff: Testing deployments, automated testing of code, and catalog testing ("comparison of catalogs produced by two different Puppet versions or between two environments").
In each case, Octocatalog-diff makes sure major changes to Puppet roles across GitHub's environment can be deployed without breaking other Puppet rules.
Puppet could do this as well, but GitHub didn't want to have to grant access to the Puppet master to engineers who didn't really need it. To that end, Octocatalog-diff can run on its own, without access to the Puppet master.
(Score: 0) by Anonymous Coward on Thursday November 10 2016, @06:53PM
This is the social era. All work is done in the public eye. Privacy doesn't exist, and work/life balance doesn't exist. The coders who worked on this project knew that disrespecting their employer in any way would be social suicide in their personal lives.