In order to get a feel for how this might work, i've been working on bootstrapping this from scratch. When you manage puppet via puppet, you need a base config to start from, and i've been trying to figure out the most minimal puppet config i can use to start up another puppet server. This got me thinking about a potential puppetmanaged.org live spin. This could be a CD or USB stick with either a barebones config, or respun for your local organisation with a git checkout of your internal configuration. There would be a running DHCP, DNS, Cobbler, Puppet and Func server on it. (Yeah, i know Func doesn't call it a server.) I'm assuming these are the basics you need to get your network up and running. The spin would also have a couple of scripts, where you can point it to up to five different servers, baremetal or virtual, get them up and running, deploy your local config if needed, and then via func, flip a switch so that they look at each other for updates, rather than at the computer running live.
I'm hoping i can get a good basic puppet bootstrap up and running before i run off to HAR.