Larger organizations may need a multitenant setup of Puppet Enterprise Code Manager. While fundamentally, the workflow is the same, the way that we structure the control repository is slightly different.
We attempt to minimize the impact of the control repository, turning it into a call to libraries of sorts. We want to position our control repository to store references to code, rather than code itself. Moving role and profile manifests to external repositories allows us to manage them as a versioned artifacts, and declare which version is available to each and every enviroinment directly. Our control repository only contains the Puppetfile, things applied globally with site.pp, and values that we'd like to make available to the whole organization, to use in Hiera.
We make a few minor changes to the workflow to facilitate larger groups...