Details
-
Task
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
Description
Append the vendored modules directory to the default basemodulepath visible across all environments.
Pluginsync should download modules' lib directories.
The compiler should be able to load types from the modules' lib directories.
The vendored modules directory should have the least precedence (per-environment modulepath, global modulepath, and pluginsync libdir) should all have higher priority, so that the vendored versions can be overrridden.
puppetserver: installing an updated module should override vendor_modules (from the puppet-agent package on the local host).
puppet agent: pluginsynced modules should override vendor_modules
puppet apply/resource: locally installed modules should override vendor_modules
The modules mount must resolve files in the same way that the autoloader does so that the same type (and its respective provider) used during compilation are pluginsynced to the agent.
It should be possible to remove the vendored modules directory from the either the basemodulepath or in a per-environment modulepath so that the vendored modules are ignored, eg. trying to compile a manifest should fail if the type is not installed using PMT.
Attachments
Issue Links
- relates to
-
PA-1998 Create base component for vendoring modules
-
- Closed
-