(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 (apt
oryum
) [this will requiresudo
] - create virtual environment in local directory (or in directory specified by user)
- install newest
pip
andsetuptools
in that virtual environment (it's needed forwheel
packages below) - install GWM dependencies into that virtual environment (some of them might need to be provided as
wheel
binary 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
pip
compliant 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-tools
package with webserver and/or some other tools will be needed- we'll need to provide
wheel
packages of GWM's binary dependencies (like PostgreSQL connection library) - we'll need to think of sane default settings for GWM