Ziel: Docker-kompatible Volume-API funktioniert über HTTP oder Unix-Socket.
Umfang:
- Endpunkte nach Docker-Spezifikation (
Plugin.Activate,VolumeDriver.Create,List,Remove,Path, …). - Request-Validierung und Option-Parsing (z. B.
quota,compression). - Tests mit Mock-Treiber.
Ergebnis:
Das Plugin reagiert auf Docker-Anfragen und legt Subvolumes an (noch ohne Persistenz).
Basis & Tests
33%
Ziel: Grundlegende Btrfs-Treiber-Struktur steht, inklusive Fehlerbehandlung und Testumgebung.
Umfang:
- Interface
IBtrfsDriverimplementiert (CLI + Mock). - Hilfsfunktionen zum Erstellen von Testvolumes mit Btrfs.
- Unit- und Integrationstests laufen lokal stabil, CI überspringt sie bei fehlenden Loop-Devices.
- Fehlerobjekte (
BtrfsError) vereinheitlicht.
Ergebnis:
Grundfunktionalität ist testbar, Build läuft sauber durch.
Ziel: Plugin ist einsatzbereit und dokumentiert.
Umfang:
- Docker-Plugin- oder Container-Variante mit
config.jsonund Beispiel-Compose-Datei. - Installations- und Nutzungshinweise im README.
- Version v0.1.0 getaggt mit Changelog.
Ergebnis:
Funktionierendes Release, das auf einem Testsystem installiert werden kann.
Ziel: Persistente Speicherung und Wiederherstellung der Volume-Informationen.
Umfang:
- Volume-Metadaten werden lokal gespeichert (
/var/lib/vbtrfs/volumes/*.json). - Abgleich beim Start zwischen Dateien und tatsächlichem Dateisystemzustand.
- Integration mit echtem Btrfs-Treiber.
Ergebnis:
Das Plugin überlebt Neustarts und verwaltet Volumes konsistent.