To make it as simple as possible to run Precog, we need to bundle Precog and Labcoat and all required dependencies into a fully self-contained package suitable for distribution, run all Precog services in a single process using a single port, and launch Precog and Labcoat with a single command.
Configuration options for this single process server should be kept extremely minimal, and every option must have a sensible default which works out of the box on all supported platforms (Mac, Linux, Windows).
Among the possible options:
The port to run on. Could default to something like 7777.
The home directory for the file system (if local file system is being used). Could default to something like ./data/.
The home directory for temporary files. Could default to /tmp/ or ./tmp/.
The directory for accounts/security/etc. metadata (location of H2 database?). Could default to something like ./meta/.
With no external dependencies and simple configuration options that all have sensible defaults, it will be possible for average and casual users to maintain Precog, and many more people to try Precog out without having to master a half dozen other technologies (kafka, zookeeper, haproxy, mongodb, httpd, etc.).
This ticket will be considered complete when the following is possible:
Run an sbt task to build the new standalone release from scratch (both Precog and Labcoat)
cd into the standalone release directory
Run precog or precog.bat scripts depending on OS (Mac/Linux or Windows)
If no command-line arguments are specified, the script launches Precog server in a single process and port (if it is not already running), and launches Labcoat configured to point to the newly-launched Precog server
In addition to the default action of starting Precog and launching Labcoat, the scripts support the commands 'stop', 'start', and 'restart', which stop, start, and restart the Precog server (respectively), as well as a 'launch' command which launches Labcoat, and a 'status' command which shows whether or not Precog server is running.
The standalone release will be the release version that's pre-built and distributed online for users who don't want to build Precog / Labcoat from scratch. Therefore, it's essential that it be bullet-proof and "just work" out of the box with no tweaking, configuration, or additional external dependencies.
This ticket should not be completed most of the other tickets in the Simplified Precog milestone have been completed.
To make it as simple as possible to run Precog, we need to bundle Precog and Labcoat and all required dependencies into a fully self-contained package suitable for distribution, run all Precog services in a single process using a single port, and launch Precog and Labcoat with a single command.
Configuration options for this single process server should be kept extremely minimal, and every option must have a sensible default which works out of the box on all supported platforms (Mac, Linux, Windows).
Among the possible options:
With no external dependencies and simple configuration options that all have sensible defaults, it will be possible for average and casual users to maintain Precog, and many more people to try Precog out without having to master a half dozen other technologies (kafka, zookeeper, haproxy, mongodb, httpd, etc.).
This ticket will be considered complete when the following is possible:
cd
into the standalone release directoryprecog
orprecog.bat
scripts depending on OS (Mac/Linux or Windows)The standalone release will be the release version that's pre-built and distributed online for users who don't want to build Precog / Labcoat from scratch. Therefore, it's essential that it be bullet-proof and "just work" out of the box with no tweaking, configuration, or additional external dependencies.
This ticket should not be completed most of the other tickets in the Simplified Precog milestone have been completed.