Moonshine, Now 92.6% More Enterprisey



Written By : Kevin Lawver


December 06, 2012

Last week, we added support for Passenger Enterprise to Moonshine, allowing anyone to easily deploy apps with Passenger Enterprise and easily making sure that it’s compiled correctly, licensed and configured to give your app all the shiny new features (OMG, rolling restarts!!).

Upgrading is straightforward. After you purchase your license, download the passenger-enterprise-server gem from your dashboard and throw it in vendor/gems. Then, download your license and put it in app/manifests/templates. Now, in your moonshine.yml, it should look something like this:

:passenger:
  :enterprise: true
  :gemfile: vendor/gems/passenger-enterprise-server-3.0.18.gem
  :version: 3.0.17
  :rolling_restarts: true

We’ve also added support for the new Enterprise-only features:

  • :rolling_restarts: Defaults to false, but you should really set it to true.
  • :max_request_time: Defaults to 0. Be careful with this one because there appears to be a bug that kills of passenger instances as they start if they take longer to spin up than the value of this setting. I’d recommend setting it to something extreme like 120 for now (hopefully your app doesn’t take 2 minutes to start up).
  • :memory_limit: Defaults to 0. We haven’t set this one in production yet, but I’d set it the absolute maximum you’re comfortable running your app (like 500M).
  • :resist_deployment_errors: Defaults to false.
  • :debug_log_file: This is a great feature. It moves all the apache errors related to startup or stopped connections to a separate log file. We’ve been setting this to the /srv/APPNAME/current/log/debug.log.

All of these are on the shiny new Default Configuration page on the Moonshine wiki along with all the other settings you can tweak with Moonshine.

We’ve had several Rails Machine customers roll out Passenger Enterprise recently and we’ve heard glowing reports from everyone, especially for the rolling restarts.

Are you using Passenger Enterprise? What do you think?