Book Image

Mastering Puppet

By : Thomas Uphill
Book Image

Mastering Puppet

By: Thomas Uphill

Overview of this book

Table of Contents (17 chapters)

Using GitHub for public modules

If you have a module you wish to use that is only hosted on GitHub, ( is an online Git service for sharing code using Git) a good way to keep your modules organized is to create a local Git repository and make the GitHub module a submodule of your modules.

We'll start by creating a new Git repository for our public modules:

git@worker1$ git init --bare --shared=group public.git
Initialized empty shared Git repository in /var/lib/git/public.git/


If your Git user still has git-shell set as its login shell from the previous chapter, change it back to bash, as shown in the following commands:

# chsh -s /bin/bash git
Changing shell for git.
Shell changed.

The first module we will download from GitHub is puppetdb, which is a module to install and configure puppetdb. This module is available at

With our public repository created, we will clone the repository in another location and create a Git submodule...