Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: only install files necessary for Puppet to function #62

Open
stefanbethke opened this issue Jan 17, 2018 · 3 comments
Open

Comments

@stefanbethke
Copy link

Our modules contain a lot of infrastructure for testing and similar purposes; they are not needed when Puppet is using the module.

When using kitchen-puppet, all these files are copied into the target machine, which takes a significant amount of time.

A new config option --slim would only make the files and directories available that are necessary for Puppet to function (see https://puppet.com/docs/puppet/5.3/modules_fundamentals.html#module-layout)

@ekohl
Copy link
Member

ekohl commented Jan 17, 2018

I feel like this shouldn't be solved here but rather at publishing layer. https://puppet.com/docs/puppet/5.0/modules_publishing.html#excluding-files-from-the-package is IMHO the road to go. That way you end up with small modules on the forge. I haven't looked at git checkouts and we probably don't do anything there. Using the same logic (either reuse this from puppet or implement it ourselves) would make sense to me.

@joekohlsdorf
Copy link

joekohlsdorf commented Jan 26, 2018

Unfortunately we can't force anyone to publish their modules in this manner onto the forge, even official modules contain things like spec files. In addition to this I personally don't use or want a forge for my own modules, I check them out directly from git.

But I also don't like the idea of including a --slim parameter with hardcoded defaults. A configurable file with a list of inclusions would be better because I can imagine some use cases where additional folders that aren't in the module layout list would be useful.

This could also be tackled in the kitchen-puppet vagrant provisioner. In fact I think this is also a better place to make the change which was originally proposed.

@joekohlsdorf
Copy link

joekohlsdorf commented Jan 28, 2018

@stefanbethke I just checked kitchen-puppet code and found that the functionality to exclude module paths from being synced to the VM already exists. The configuration option is named ignored_paths_from_root.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants