-
Notifications
You must be signed in to change notification settings - Fork 10
Capability Container
The capability container is a UNIX process that provides a secure run-time environment for ScionCC processes, such as service processes. The container provides configuration, logging, messaging and other infrastructure services for processes to run.
See also:
- https://github.com/scionrep/scioncc/blob/master/README
- https://github.com/scionrep/scioncc/blob/master/INSTALL
To start the container, the following dependencies need to be running, see README:
- PostgreSQL 9.3 or greater, with PostGIS extension, plpythonu extension
- RabbitMQ 2.x or greater
A configuration file (e.g. res/config/pyon.local.yml) needs to be provided with hostnames and passwords of these dependencies and other configuration overrides.
Also, the container required library environment needs to be built, following the steps described in INSTALL for the virtualenv, buildout and operating system dependencies.
The following command starts a container and deploys a list of processes as configured in the provided deploy file. A deploy file is a file listing processes to start and the order in which to start them.
bin/pycc -r res/deploy/basic.yml
Use the following command for help with additional options:
bin/pycc --help
By default, the capability container drops into an interactive shell after starting all requested processes. This interactive shell provides access to an IPython environment and can be used for debugging and interactive development. It provides access to all internal data structures.
In production deployments the container shell should be disabled and the container process run in the background, using the -n option. For debugging purposes, it is possible to use the bin/manhole program to connect to the container process and provide an interactive shell. Exit with Ctrl-D.
bin/manhole bin/manhole manhold-pid.json
The system config file is loaded from res/config/pyon.yml. The default override file is applied from res/config/pyon.local.yml. Additional overrides can be applied using the pycc command line using the -c option or by providing key=value arguments directly on the command line.
See also Configuration