strongloop

This add-on is operated by StrongLoop

Provision StrongOps for the StrongLoop Suite

strongloop

Last Updated: 19 March 2014

The strongloop add-on is currently in beta.

Table of Contents

The StrongLoop Heroku Buildpack provides StrongLoop Suite and installs the StrongLoop add-on. The add-on provisions a monitoring account on StrongOps.

Prerequisites

Get StrongLoop Suite

Download and install StrongLoop Suite

Get the Heroku Toolbelt

Make sure you have a Heroku account and have installed the Heroku Toolbelt.

Login with the heroku command line:

$ heroku login

Create your app

You can use slc to start you off with a boilerplate app using slc create:

$ slc create web my-app
$ cd my-app

You will need to init and commit your code:

$ git init
$ git add .
$ git commit -m "init"

Heroku setup

Heroku apps require a Procfile. You’ll need to add this to the root of your app

Procfile:

web: slc run app.js

Make sure you add the Procfile to your repository:

$ git add Procfile $ git commit -m "adding Procfile"

Get the buildpack

Create your Heroku app using the buildpack. When it completes push to heroku master to complete the installation of StrongLoop Suite on your dyno.

$ heroku apps:create --buildpack https://github.com/strongloop/dist-paas-buildpack.git
$ git push heroku v1.2:master

The installation of the buildpack will register you for StrongOps monitoring. It will set up an env variable with the API key called STRONGLOOP_KEY. Verify this with the following command:

$ heroku config:get STRONGLOOP_KEY

Run your app

Scale your app up

$ heroku ps:scale web=1

Test it out

$ heroku open

Configuration

The sample apps provide by StrongLoop Suite will already be configured to use strong-agent. For reference here are the details of configuring new apps to use it. Add strong-agent to your package.json in your web application:

{
    "name": "my-awesome-application",
    "dependencies": {
        "strong-agent": "0.2.x"
    }
}

Enter the following at the top of your module before any other requires:

require('strong-agent').profile();

Local setup

Environment setup

After provisioning the add-on it’s necessary to locally replicate the config vars so your development environment can operate against the service.

Though less portable it’s also possible to set local environment variables using export STRONGLOOP_KEY=value.

Use Foreman to configure, run and manage process types specified in your app’s Procfile. Foreman reads configuration variables from an .env file. Use the following command to add the STRONGLOOP_KEY values retrieved from heroku config to .env.

$ heroku config -s | grep STRONGLOOP_KEY >> .env
$ more .env

Use the SL_APP_NAME env variable to specify a different name for local instance. This will help differentiate it from your live instance in the monitoring dashboard.

Credentials and other sensitive configuration values should not be committed to source-control. In Git exclude the .env file with: echo .env >> .gitignore.

Login to StrongOps portal

Go to the StrongOps Portal and login with your StrongLoop account. If you haven’t already done so, please register for a StrongLoop account.

IMPORTANT: your StrongLoop account and Heroku account must use the same email address in order for us to match retrieve your data.

How to check your dashboard on Heroku

Once you have created your app, its time to look at the instrumentation. Navigate to the Heroku dashboard and find your app. Once you’ve found your app, click on Heroku app dashboard to view the various dynos and add-ons for your app. Find the strongloop add-on and click on it to view the StrongOps Control Panel. The StrongLoop Ops dashboard is accesible by clicking on the grey button “StrongOps Dashboard”.

The dashboard can also be accessed via the CLI:

$ heroku addons:open strongloop
Opening strongloop for sharp-mountain-4005…

Troubleshooting

After configuration, StrongOps is automatic. If you should experience any issues, please let us know immediately by email

Migrating between plans

Application owners should carefully manage the migration timing to ensure proper application function during the migration process.

Use the heroku addons:upgrade command to migrate to a new plan.

$ heroku addons:upgrade strongloop:newplan
-----> Upgrading strongloop:newplan to sharp-mountain-4005... done, v18 ($49/mo)
       Your plan has been updated to: strongloop:newplan

Removing the add-on

StrongOps can be removed via the CLI.

This will destroy all associated data and cannot be undone!

$ heroku addons:remove strongloop
-----> Removing strongloop from sharp-mountain-4005... done, v20 (free)

Support

All StrongOps support and runtime issues should be submitted via on of the Heroku Support channels. Any non-support related issues or product feedback is welcome at callback@strongloop.com.