Puppet setup#

Intended audience

sysadm members

Multiple repository setup#

Report to Reference: Setup sysadm repositories to prepare your machine with puppet-environment.

All the swh-specific repositories are in swh--prefixed repositories. The other repositories come from other sources and have an upstream remote allowing updates (the origin remote is always on the swh git server).

Our puppet workflow is documented in the README.md file in the puppet-environment repository.

Configure octocatalog-diff to ease testing#

puppet-environment contains the whole scaffolding to be able to use octocatalog-diff on our manifests. This allows for quick(er) local iterations while developing complex puppet manifests.


You need the following packages installed on your machine:

  • r10k octocatalog-diff

  • puppet


The bin/octocatalog-diff script allows diffing the manifests between two environments (that is, between two branches of the swh-site repository. By default it diffs between production and staging.

Default usage:

cd puppet-environment
# Diff between branches "staging" and "production" for node "pergamon"
bin/octocatalog-diff pergamon
# Diff between branches "staging_feature" and "production" for node "worker01"
bin/octocatalog-diff --to staging_feature worker01


Our setup for octocatalog-diff doesn’t support exported resources, so you won’t see your fancy icinga checks there. For more evolved checks as those, use our vagrant vms definitions.