Definisce nomi componenti e packaging

This commit is contained in:
2026-06-30 20:20:23 +02:00
parent 03ff702ad9
commit 124cc370e5

View File

@@ -8,6 +8,21 @@ Il progetto dovra' essere sviluppato in Python, con interfaccia di configurazion
## Componenti principali
### Nomi applicativi
Nomi definitivi dei componenti:
- prodotto: `Bak&Rest`;
- servizio Windows: `BakRestWatchdog`;
- descrizione servizio: `Bak&Rest Watchdog Service`;
- applicazione tray: `BakRestTray`;
- applicazione di configurazione: `BakRestConfig`;
- eseguibile servizio: `BakRestWatchdog.exe`;
- eseguibile tray: `BakRestTray.exe`;
- eseguibile configurazione: `BakRestConfig.exe`.
Gli eseguibili destinati all'utente finale non devono aprire finestre console.
### Servizio Windows watchdog
Il servizio Windows deve:
@@ -356,6 +371,22 @@ Librerie candidate:
- `subprocess` per eseguire `rsync`;
- `logging` standard library per i log giornalieri.
Packaging candidato:
- `PyInstaller` per produrre eseguibili Windows;
- build senza console per tray app e GUI di configurazione;
- servizio Windows installabile come `BakRestWatchdog`;
- eventuale installer successivo per configurare servizio, autostart tray e cartelle dati.
Gli eseguibili finali previsti sono:
```text
dist/
BakRestWatchdog.exe
BakRestTray.exe
BakRestConfig.exe
```
## Decisioni aperte
- Scegliere formato definitivo della configurazione: YAML, TOML o JSON.
@@ -364,6 +395,7 @@ Librerie candidate:
- Definire quale distribuzione di `rsync` usare su Windows.
- Definire come installare e aggiornare il servizio Windows.
- Definire come gestire credenziali e segreti senza scriverli in chiaro nei log.
- Definire se creare un installer unico o distribuire gli eseguibili con script di installazione.
- Definire se prevedere backup versionato o solo mirror.
- Definire politica per cancellazioni: propagare la cancellazione sul backup o conservarla.
- Definire comportamento in caso di file non copiabili.