Q:

Puppet package provider for modules from puppetforge?

Using puppet, you can install 'packages' on your system using a variety of 'providers'. There are built in providers for yum, apt, gems, etc.
Is there a 'puppet-module' package provider or similar? In order to re-use puppet modules from  http://forge.puppetlabs.com/, I am downloading the release, unzipping it into my own source repository, and adding it to my sources. This isn't ideal - I'd like to be able to re-use a module without copying it.
Is there a better way? I'd like to be able to install and use puppet-modules on the puppetmaster using puppet itself. That would make using/upgrading modules easier, and allow for working at a higher level of abstraction.
I guess there might be a chicken-egg problem - puppet might struggle to validate my manifests if they contain resources it doesn't yet have installed, but maybe this could be worked around using stages?

A:

Issue #11209 covers creating it, but it looks like Puppet Labs are unsure about it at the moment.  Perhaps your input there would be useful?
Regarding installing modules before needing to use them, I wouldn't have thought that's possible.  2.7.8 added support for picking up providers later in the run, but I don't think it extends to types.  You also wouldn't be able to include the module or manifests in the catalog as it's already been compiled.  I think you'd need to run Puppet twice on the master - once for bootstrapping and to install modules, then again for its real/full Puppet run.

