Been working with Puppet in a standalone configuration for the last 9 months or so. The basic architecture starts with a git repo that has the whole configuration. All the modules are external to the repo. Managing this has at times been cumbersome and recently I’ve been investigating using librarian-puppet to manage the modules. I’ve create a bare minimum configuration that I can share, it performs the main steps with a pair of scripts, one to initialize things and the other for routine calls to puppet apply.
Everything is at GitHub.
Hopefully it’s useful to others. One thing to note, I’m using the EPEL packaged puppet instead of the latest and my config is very RHEL oriented. So it will work on any derived distros.