The Generic and Standalone frameworks are for applications that might not fit any of the other frameworks available in Helion Stackato.
These two frameworks make no assumptions about the application type, and can be customized to run a wide variety of non-standard applications.
Any language runtime available on the server can be specified in the config file. If a runtime is not specified, Python 2.7 is made available by default.
The Generic framework requires a custom processes: web: setting in manifest.yml specifying a
command to start the web process (for example, a custom web server).
The example below shows a web process that serves static files from the application directory using Python's SimpleHTTPServer:
framework:
type: generic
processes:
web: python -m SimpleHTTPServer $PORT
If you wish to run an application without a web interface (as a background "worker" process), set 'processes: web:' to Null or use the Standalone framework instead.
The Standalone framework uses a custom command specified in the command: key to start a background worker process.
The example below shows the manifest.yml configuration for an
application running a simple Python worker script.
name: worker
framework:
type: standalone
runtime: python27
command: python main.py
The command must start a long-running child process. If this process
exits for any reason, the Health Manager will restart the application
instance.
Helion Stackato will not assign URLs to apps deployed with the standalone
framework, because it is intended for background worker processes. The
stackato client includes a heuristic that will automatically
suppress URL mapping for applications using this framework.
Note
If the application does not serve web requests, it may appear in the
Management Console or stackato apps command as not running. To
verify a non-web application is actually running, use stackato
logs or stackato ssh.
See the stackato-worker sample for a simple working example.