Hey everyone, I'm hoping someone can enlighten me here: Why is it so hard/complicated to use third party gems when developing a custom provider? It seems to me that pulling in gems should be priority #1, since it allows providers to leverage a lot of development already done in the ruby community. However, right now it is complicated: 1. I have to get my users downstream to install gem dependencies before using any resources related to the provider. There is no way for me to annotate the module itself for these dependencies, and no support for automatically pulling them down. 2. "Features" offer very limited capability (as far as I understand), and are poorly documented. The only documentation is on how to link providers and types using features, not on how to require ruby libraries. There is no way for anything other than a type to specify requiring a feature. For example, what if a provider requires a gem? 3. "Features" only protect part of the lifecycle. Even without a feature present, puppet still attempts to resolve auto-require relationships. This makes sense based on how things work, but what am I supposed to do if I need a third party gem there? 4. Some gem dependencies need to be present on both the puppet master (in the master's environment) and on the node. There is no way for me to transparently take care of this for users. So, am I just missing something? Is there some secret hook in the puppet source that makes dealing with gems better? Should I just start distributing this provider as a package, and ignore "puppet module", r10k, etc? Or are there any changes coming down the pipeline that will make this work better? Thanks, Chris -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/78d97481-4d1f-4548-9835-0ca20eade250%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.