(You can watch the progress here.)
Proposed setup.sh installation script for GWM would:
- detect user's operating system (Debian or CentOS)
- install system dependencies (Python,
python-virtualenv) via user's OS default package managers (aptoryum) [this will requiresudo] - create virtual environment in local directory (or in directory specified by user)
- install newest
pipandsetuptoolsin that virtual environment (it's needed forwheelpackages below) - install GWM dependencies into that virtual environment (some of them might need to be provided as
wheelbinary packages, because GWM users might not be allowed to havegcc& co. installed) - install GWM itself into that virtual environment
- create configuration directory near that virtual environment with sane default settings in there
- install GWM tools (ie.
/usr/bin/gwm*, like webserver or update utility) that use above configuration directory (for example through environment variable, like Django does withDJANGO_SETTINGS_MODULE) - generate random
SECRET_KEY(with read access only for GWM webserver) - generate proper WSGI file for the project (that can work with custom directory and virtual environment)
- GWM will need to be truly PyPI and
pipcompliant package - it will need to take into account different settings path (as mentioned above: via environment variable)
- GWM will need to be easily WSGI-fied, so that a lightweight webserver can host it
ganeti-webmgr-toolspackage with webserver and/or some other tools will be needed- we'll need to provide
wheelpackages of GWM's binary dependencies (like PostgreSQL connection library) - we'll need to think of sane default settings for GWM