Skip to content

Instantly share code, notes, and snippets.

@tylerflint
Created November 19, 2015 23:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tylerflint/9e919b7d45bcc0ce8617 to your computer and use it in GitHub Desktop.
Save tylerflint/9e919b7d45bcc0ce8617 to your computer and use it in GitHub Desktop.
Engine find out questions

A nanobox engine is responsible for 5 things:

  1. Determining if the app type matches the engine
  2. Detecting service dependencies like postgres, redis, etc
  3. Preparing the environment that the application (code) will run within.
  4. Configuring the application to connect to the detected services.
  5. Compiling or building the code into a release.

We would greatly appreciate it if you would be willing to answer some or all of the following questions, in as much detail as you need, understanding that there are no wrong answers:

Detection

  • What is the most accurate way you can think of to detect a Scala app?

Environment

  • Which java runtimes need to be available to your app?
  • Are any other runtimes (nodejs, python, etc) needed?
  • Are any utilities, webservers, or other binaries (apache, nginx, etc) needed?
  • How do you manage/install dependencies?
  • Where are your dependencies stored? (which directories)

Service detection

  • Does your app depend on services like postgres, redis, etc?
  • How could we detect that your app depends on them?
  • Does your app require any special configuration for these services?

Application configuration

  • Does your app require special configuration via config files or environment variables?
  • Where and how could we configure your app to connect to the services that were previously detected?

Compilation/Build

  • Does your app need to be compiled?
  • Is there a build process required to generate a release?
  • Ultimately, what should be copied into the live environment? (all source code, specific directories, etc)

Finally, running your app

  • Is your app strictly a web (http) app, or does it provide a service on tcp/udp as well?
  • How do you run your app?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment