Progetto di Erase Smart con Taralli Olistici
Hard disk SMART data checker, cleaner and system image loader.
Successor of Turbofresa and redeemer.
Is constituted by:
- B.A.S.I.L.I.C.O. "Badblocks Asincrono Smart Incredibile Lancio Istantaneo di Cannoli Olistico", the server
- P.I.N.O.L.O. "Procacciatore di Informazioni Notevoli e Operazioni Laboriose Online", the client
PESTO is a utility software that allows you to make some operations on hard disks or SSDs, like:
- ERASE: Wipe all data on the selected drive.
- SMART: Check SMART data of the selected drive to give an estimate of the operating status of the device.
- CANNOLO: Load an operating system image on the selected drive.
- LOAD TO TARALLO: Utility that can communicate with TARALLO, sending all the necessary data to add the selected device to the inventory.
pinolo.py
is the user interface of the software with which the user can perform all the operations on the drives. This program by itself will be useless if not coupled with the server basilico.py
. This one is the heart of PESTO: it performs all the commands that the user send to him, constantly sending back informations to the client that shows them to the user in a more human friendly way.
It's highly discouraged to use the client outside a local network for security reasons.
There is no authentication and no encryption of any message.
You can edit the user interface in two ways:
- Graphics editing: use
pyqt5-tools designer
and open the .ui file that you need to modify - Functional editing: edit code in
pinolo.py
To build UI files:
make ui
Compiled UI files are located inside the ui
folder.
To build documentation
sphinx-apidox -o docs .
cd docs
make html
If sphinx
is not installed in your system, install it in Pesto venv
source ./venv/bin/activate
pip install sphinx sphinx-rtd-theme
To install pesto in the system:
git clone https://github.com/WEEE-Open/pesto.git
cd pesto
./INSTALL.sh
The script installs the software in /opt/pesto
and generates the virtual environment with the necessary dependencies.
The server parses configuration in this order:
/etc/basilico.conf
~/.conf/WEEE-Open/basilico.conf
.env
in the same directory as the script- Environment variables
The configuration file is a list of environment variables, here's an example:
# IP where the server listens, 127.0.0.1 by default, use 0.0.0.0 to listen on all interfaces
IP=0.0.0.0
# Port, default 1030.
PORT=1030
# Log level: DEBUG, INFO, WARNING, ERROR. Default INFO.
LOGLEVEL=DEBUG
# Start as a daemon or a normal process, boolean, not very well tested. Default false.
DAEMONIZE=0
# Lock file for the daemon. Default /var/run/basilico.pid.
LOCKFILE_PATH=/var/run/basilico.pid
# Tarallo URL for pytarallo. Default none (tarallo will not be used)
TARALLO_URL=http://127.0.0.1:8080
# Tarallo token, default none. This is an example token.
TARALLO_TOKEN=yoLeCHmEhNNseN0BlG0s3A:ksfPYziGg7ebj0goT0Zc7pbmQEIYvZpRTIkwuscAM_k
# If true, no destructive actions will be performed: no badblocks, no trimming, no cannolo. Default false.
TEST_MODE=1
Immediately after the installation, you may need to copy the .env.example
file in the same path as .env
.
Then you can edit the .env
file to set your configuration. Generally, the default configuration is good but to use
TARALLO features you have to set the TARALLO_URL and TARALLO_TOKEN environment variables.
Everything else licensed as in the LICENSE file.