Report Open Access

Puppet librarian and Git

Petruk, Dmytro; Barrientos, Nacho

Project Specification

Puppet is used by CERN extensively in order to manage server configuration of over 23k servers in its data centers. The project is to evaluate Python libraries which interface to the Git source code management system and enhance the CERN Jens Puppet library component to improve performance and build on community contributions for better future compatibility.


To have the most up to date version of the configuration files for the servers, Jens interfaces directly to the Git binaries to synchronize GitLab repositories and Puppet environments.

The initial implementation of the Git module, which is responsible for interacting with Git repositories, was built on just creating a new Git process for each operation. The aim of this project was to evaluate all the libraries in the wild for interacting with Git, go for the best and rewrite using it but also to improve error processing and increase test coverage for better future development.

Files (188.4 kB)
Name Size
188.4 kB Download


Cite as