craigwatson/hiera-eyaml-gkms

Instructions for installing in puppetserver?

Opened this issue · 4 comments

I have been unable to get hiera-eyaml-gkms to work with puppetserver.. I'm using puppetserver gem install to install dependencies, and it fails attempting to build native C extensions for the grpc gem. After googling around, it seems that jruby is unable to build (or use?) built C extensions?

I think this project has limited use outside of puppet, so assume I am doing something wrong. This isn't an issue with hiera-eyaml-gkms itself, which works great, but with ruby/grpc. However, it would be great to have documentation here for how to install the dependencies for use with puppetserver. I'd be happy to write such documentation if I knew how to do it 🙂

Hi @rbelnap - thanks for raising this!

At the time this was first published, my own environemnt was a masterless Puppet environment, so the command to install the Gem was:

/opt/puppetlabs/puppet/bin/gem install hiera-eyaml-gkms

I'm actually on holiday until January after today so may take a while to look into the dependency issues, but if you can post the version of Puppetserver you're using, I'll take a look when I can 👍🏻

Thanks! My puppet server version is:

puppetserver version: 7.9.3

the command I'm using to install dependencies is:

puppetserver gem install hiera-eyaml google-cloud-kms

which fails when attempting to install the grpc gem. This is not an issue with hiera-eyaml-gkms itself... and if you are/were running masterless, that answers my question about how it was working. I just figured the community would have run into this before me. Google did find a recent stack overflow question (now deleted) asking the same thing, so at least one other person has run into it. 🤷

In any case, if there is no way to get it working with a puppetserver/jruby... it would be sad, but it would also be worth mentioning in the readme somewhere.

Thanks for the pointers - at this stage my advice would be to try and install each dependency individually - my hunch (and very hazy recollection) is that Google has at some point in the past changed some of the dependencies of the various underlying libraries, so you may need to pin the offending gem during the install process.

rflj commented

I had similar issue like @rbelnap - when I tried to install this plugin on puppetserver it failed on installing grpc gem, there is an issue with JRuby can't install grpc gem.

As a workaround I have modified the plugin code to use gcloud CLI instead of using gcloud Ruby libs.
See PR - #7