fix(storage): preserve explicit S3 MIME types in SeaweedFS
This commit is contained in:
@@ -13,7 +13,8 @@ Die fachliche Abnahme erfolgt zusätzlich auf der konkreten Instanz.
|
||||
## Was der Pilot leistet und wo seine Grenze liegt
|
||||
|
||||
- Vorhandenes MinIO verwenden; kein Abruf von `minio/minio` oder `mc` erforderlich.
|
||||
- Feste SeaweedFS-Version 4.47; Offline-Images, SHA-256-geprüftes Paket.
|
||||
- SeaweedFS 4.47 mit dokumentierter FEDEO-Metadatenkorrektur; Offline-Images,
|
||||
SHA-256-geprüftes Paket.
|
||||
- Alle Objekte des einzigen FEDEO-Buckets übernehmen, inklusive Exporte und
|
||||
Objekte ohne aktuellen Datenbankverweis. Schlüssel und Metadaten bleiben erhalten.
|
||||
- Alle bekannten Schreiber anhalten, ihre automatischen Neustarts sperren,
|
||||
@@ -40,6 +41,27 @@ auf SeaweedFS und der Standardinstaller sind nachfolgende Arbeitspakete.
|
||||
Wer diese Einschränkungen noch nicht im Betrieb tragen möchte, führt zunächst
|
||||
nur die Vorprüfung durch und bleibt mit der Instanz auf MinIO.
|
||||
|
||||
### Warum das Pilotimage eine gezielte Korrektur enthält
|
||||
|
||||
Das unveränderte SeaweedFS 4.47 entfernt beim Speichern den expliziten MIME-Typ
|
||||
`application/octet-stream`. Bei einem `.pdf`-Schlüssel liefern HEAD und GET
|
||||
dadurch später `application/pdf`. Diese Abweichung wurde beim ersten betreuten
|
||||
Versuch durch den strengen Metadatenvergleich erkannt; die Instanz wurde vor
|
||||
Schreibfreigabe erfolgreich auf MinIO zurückgeführt.
|
||||
|
||||
`scripts/storage/Dockerfile.seaweedfs` baut deshalb die feste Herstellerrevision
|
||||
`c5073360007d28385a33426a42ac3e4ec504c5a3` mit
|
||||
`preserve-s3-content-type.patch` als `4.47-fedeo.1`. Die Korrektur bewahrt den
|
||||
expliziten Typ für S3-Einträge; die Normalisierung gewöhnlicher Dateisystemeinträge
|
||||
bleibt erhalten. Quellarchiv, Go-Buildimage und Hersteller-Basisimage sind per
|
||||
SHA-256 festgelegt. Gezielte Go-Tests laufen beim Build; das Paket enthält den
|
||||
Buildplan und Patch mit Prüfsummen. Der S3-Vertrag prüft den generischen MIME-Typ
|
||||
zusätzlich mit HEAD, GET und dem Original-Backend-SDK.
|
||||
|
||||
Dies ist eine eigene Buildvariante. Bei einem späteren SeaweedFS-Update muss die
|
||||
Korrektur weitergeführt oder durch einen nachgewiesenen Herstellerfix ersetzt
|
||||
werden; das ungeänderte Herstellerimage ist für diese 1:1-Übernahme nicht freigegeben.
|
||||
|
||||
## Voraussetzungen, die der Plan prüft
|
||||
|
||||
Linux amd64, Python ab 3.10, lokaler Docker-Daemon, Docker Compose und `tar`/`du`.
|
||||
@@ -211,7 +233,7 @@ nicht automatisch gelöscht.
|
||||
## Nachgewiesene Tests und ausstehende Freigaben
|
||||
|
||||
Der lokale S3-Test verwendet das offizielle MinIO-Release-Binary vom 7. September
|
||||
2025 und SeaweedFS 4.47 mit festem Digest. 1.005 Objekte / 1.073.752.750 Bytes,
|
||||
2025 und SeaweedFS 4.47 mit der dokumentierten MIME-Korrektur. 1.005 Objekte / 1.073.752.750 Bytes,
|
||||
einschließlich 1-GiB-Grenzdatei, Pagination, Sonderzeichen, Metadaten, leeren
|
||||
Dateien, Streaming, 24-Stunden-Signaturen, fremdem Bucket und ungültigen Zugängen
|
||||
werden geprüft. Beschädigte Zielobjekte werden erkannt und beim Fortsetzen
|
||||
|
||||
Reference in New Issue
Block a user