# Knoxite meeting
<2021-10-19>
## knoxite stand-alone
Knoxite wird als Backup Software auf einem PC eingesetzt, um dort direkt Backups
zu starten und "lokal" zu managen.
## knoxite Server
Knoxite wird als Backup Server auf einem Server eingesetzt. Clients melden sich dort mit einem Passwort/Authtoken, um ihre Backups abzuliefern. Backups werden im einfachsten Fall vom Client initiiert.
Auf dem client läuft ein daemon.
- Server wird eine json API anbieten (müssen)
Ein Admin Interface ermöglicht das Management sowie Einsicht in die Backup Statistiken.
- Auth: Tokens erstellen / verwalten
- Config Deployment?
- 1. Schritt: Client melden sich beim server
- 2. Schritt: Server authentifiziert client
- 3. Schritt: Quota für speicherplatz (im server definiert)
### Fehlende funktionalität im server
- Keine chunks/snapshot löschen
- Storagepath ist hardcoded
- etc.
### Für config & commandos
- Viper für configs
-> ist integriert in cobra
Damit kann man bestimmen, wann default, kommandozeilen oder configwerte verwendet werden
## Server Farm
knoxite Clients werden auf einer Rechnerfarm installiert, und backupen sich gegenseitig. Eine zentrale Komponente wird benötigt,
die zwischen den einzelnen knoxite Clients vermittelt und bei der sich die Clients authentifizieren müssen.
- Auth
- Config Deployment?
## p2p / Friends & Family
knoxite Clients können gezielt eingeladen werden (Invite Email/Code) um an einem p2p Backup Netzwerk teilzunehmen, in dem sich
die Clients gegenseitig über das Internet finden und backupen.
- Auth
- Discovery
- STUN
# usecases
Erstes Brainstorming:
