How to install an optional gem for a bundled plugin


I am trying to get logstash-output-webhdfs to work with kerberos. The documentation states that I need to install the gssapi gem for using the kerberos feature (The plugin works fine without gssapi for authentication-less scenarios).

Is there an official way to install gems which are not bundled with logstash? I looked at the plugin-install script but it requires an internet connection (or a staging server with an internet connection) and hence I cannot use that.

What I have done until now is use this ugly hack:

env GEM_HOME=/usr/share/logstash/vendor/bundle/jruby/2.3.0 /usr/share/logstash/vendor/jruby/bin/jruby /usr/share/logstash/vendor/jruby/bin/gem install --ignore-dependencies -V /home/admin/gssapi-1.2.0.gem

which gets the job done but which I don;t like as it is ugly and not easy to automate when using a configuration manager like salt/chef (jruby version may change etc.). Also to my mind once I update logstash, I will have to re-install the gem.

Is there a better way to install a gem so that it can be used within logstash?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.