The Puppet Azure module requires specific gems to be installed. The directions https://github.com/puppetlabs/puppetlabs-azure show the following example:
/opt/puppetlabs/puppet/bin/gem install azure azure_mgmt_compute azure_mgmt_storage azure_mgmt_resources azure_mgmt_network hocon retries --no-ri --no-rdoc
The specific gem binary /opt/puppetlabs/puppet/bin/gem
is used to ensure the gems are installed to the puppet install directory and use puppet's bundled version of ruby.
Puppet's package resource has a gem provider but it will install using the system ruby.
How can I puppetize the gem install specific to puppet? I prefer not to use an exec
resource. Is there a resource for puppet-agent to install gems?
Best Answer
I found the answer on https://docs.puppetlabs.com/references/4.0.0/type.html#package-provider-puppet_gem
New for Puppet v4 is a puppet_gem provider to the package resource.