Installation¶
The data gathering scripts and modules require Python version 3.8 and higher. Version 0.0.3 is the last version to support Python 3.6, 3.7 and the old quality reporting source.
The scripts have been tested on MacOS 10.14+, Ubuntu 16.04+, CentOS 7.3+ as well as on some Windows versions.
The scripts and modules are two separate concepts with regard to installation:
the data gathering module gatherer
must be installed so that the scripts can
always locate the module. Additionally, the scripts and modules have
dependencies which must be installed. Each of these steps can be done
separately or in combination with one another:
Run
make setup
to install the dependencies for the data gathering modules.For the agent,
make setup_agent
installs the dependency for the scraper web API as well as dependencies for the modules.If you want to gather data from spreadsheets with seat counts, Topdesk or LDAP: run
make setup_jenkins
, which also ensures that the dependencies for the modules are installed.For the controller: run
make setup_daemon
, which also ensures that the dependencies for the modules are installed.For tests: run
make setup_test
, which also installs the dependencies for the modules.For static code analysis: run
make setup_analysis
, which installs dependencies for Pylint and mypy (typing extensions) as well as all the other dependencies, even those in scraper agent, Jenkins and controller setups.
Run
make install
to install the module from source, including dependencies for the module if they were not yet installed. Note that some versions ofsetuptools
, which is used in this step, are unable to use wheels or eggs even if they are supported by the platform. Due to the additional compilation time required for some source packages, running both a command from the options above and this command is likely faster than onlymake setup
.Instead of running the scripts from this repository to install, you can use
pip install gros-gatherer
to obtain the latest release version of the module and its dependencies from PyPI.
We recommend creating a virtual environment to manage the dependencies. Make
sure that python
runs the Python version in the virtual environment.
Otherwise, the dependencies are installed to the system libraries path or the
user’s Python libraries path if you do not have access to the system libraries.
Controller¶
For the controller setup, a virtual environment must be created beneath
/usr/local/envs
(create this directory) named controller
with the
dependencies above. Next, continue with the following steps:
Configure the agent, controller or development environment using the settings and credentials files as explained in the configuration section.
For the controller: use
sudo ./controller/setup.sh
to create services and symlink scripts to make them available for the services.
Some agent scripts and controller services interact with a database for update trackers, project salts and status information storage. This database must be a MonetDB instance pre-installed in the environment where the controller is able to access it directly.