sstarcher / docker-sensu

Dockerized Sensu - Client, Server, Api
MIT License
103 stars 72 forks source link

Install aws-ses Ruby gem #4

Closed fazy closed 9 years ago

fazy commented 9 years ago

This is an excellent set of Docker images and I was nearly able to use "as-is", but I am using Amazon SES for sending emails and this doesn't work "out of the box".

The mailer-ses plugin is already installed:

/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugins-mailer-0.0.2/bin/handler-mailer-ses.rb
/opt/sensu/embedded/bin/handler-mailer-ses.rb

But that plugin requires a Ruby gem aws-ses, which isn't installed by default.

For now I have extended the image by running gem install aws-ses, but it would be nice to have it built-in. I see there's a RUNTIME_INSTALL env variable, but it looks like that's for plugins, not the gems they require.

sstarcher commented 9 years ago

@fazy did you install the mailer-ses via https://github.com/sensu-plugins/sensu-plugins-mailer The gem you require should be listed in that plugins gemspec https://github.com/sensu-plugins/sensu-plugins-mailer/blob/master/sensu-plugins-mailer.gemspec

If not it should be added to that plugins gemspec.

If you installed it via the old https://github.com/sensu/sensu-community-plugins switch to using the new method and you use RUNTIME_INSTALL: mailer which will install the gem from source and it's included dependencies.

Let me know if that resolves your problem.

fazy commented 9 years ago

Thanks for such a quick reply. The mailer-ses plugin is already installed in your current image.

I just tried RUNTIME_INSTALL: mailer and it did a gem install... but the aws-ses gem was still missing when I did gem list.

Not a problem for me as my extending image solves it, and also I prefer not to have things install at launch time (it's an extra point of failure). I can do a PR for you if you like just to install the required Gem, or you might prefer not to bulk up your image. I must admit I know very little Ruby.

sstarcher commented 9 years ago

Ya my recommended way of extending it is to reference it in a docker file and use RUN /bin/install mailer during your build. If the mailer is missing the gem though that should be added to the upstream repo. I only install mailer in this container as an example.