Untersuchung des wiederholt dokumentierten WORM-chattr-Befunds (QA-02/QA-05/QA-07, Archive-Board).
Ergebnis: echte Infrastrukturgrenze, kein Code-Bug, kein Fix in wormstore.go moeglich.
Wichtige Korrektur gegenueber bisheriger Doku: Nicht ZFS ist die Ursache, sondern dass Host 204/131 unprivilegierte LXC-Container sind. CAP_LINUX_IMMUTABLE-Pruefung im Kernel ist klassisch, nicht namespace-bewusst (bewusste Kernel-Design-Entscheidung, LKML 2014, Patch dafuer abgelehnt). Problem traete identisch auf ext4/XFS/Btrfs auf, solange Container unprivilegiert ist.
8 Alternativen geprueft (ZFS-CLI, Snapshots, Bind-Mount-readonly, Proxmox-Flags, setcap, verschachtelte User-Namespaces, FUSE, externes Object-Lock-Backend) — keine im Container-Scope ausreichend. Bestehendes Fail-Closed-Verhalten in Put/ImmutableLockSupported ist bereits die richtige Reaktion, keine Code-Aenderung noetig.
Einzige strukturell gleichwertige Alternative: echtes S3/MinIO Compliance-Mode Object-Lock-Backend — Architekturwechsel, nicht Teil dieses Nachtrags.
Untersuchung des wiederholt dokumentierten WORM-chattr-Befunds (QA-02/QA-05/QA-07, Archive-Board).
**Ergebnis: echte Infrastrukturgrenze, kein Code-Bug, kein Fix in wormstore.go moeglich.**
**Wichtige Korrektur gegenueber bisheriger Doku:** Nicht ZFS ist die Ursache, sondern dass Host 204/131 unprivilegierte LXC-Container sind. `CAP_LINUX_IMMUTABLE`-Pruefung im Kernel ist klassisch, nicht namespace-bewusst (bewusste Kernel-Design-Entscheidung, LKML 2014, Patch dafuer abgelehnt). Problem traete identisch auf ext4/XFS/Btrfs auf, solange Container unprivilegiert ist.
8 Alternativen geprueft (ZFS-CLI, Snapshots, Bind-Mount-readonly, Proxmox-Flags, setcap, verschachtelte User-Namespaces, FUSE, externes Object-Lock-Backend) — keine im Container-Scope ausreichend. Bestehendes Fail-Closed-Verhalten in `Put`/`ImmutableLockSupported` ist bereits die richtige Reaktion, keine Code-Aenderung noetig.
Einzige strukturell gleichwertige Alternative: echtes S3/MinIO Compliance-Mode Object-Lock-Backend — Architekturwechsel, nicht Teil dieses Nachtrags.
Kein Merge, kein Deploy — nur Dokumentation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Reale Reproduktion auf Host 204 (chattr, roher FS_IOC_SETFLAGS-Ioctl,
Gegenprobe auf tmpfs im selben Container) zeigt: Ursache ist der
unprivilegierte LXC-Container (capable(CAP_LINUX_IMMUTABLE) prueft
immer gegen den Host-Namespace, nicht gegen den Container), nicht ZFS
wie bisher in RET-11-PRUEFPROTOKOLL.md vermutet - betrifft jedes
Dateisystem im Container. Acht geprueften Alternativen (ZFS readonly/
hold, ACL/chmod, Proxmox-Features, Capabilities, verschachtelte
User-Namespaces, FUSE, externes Object-Lock-Backend) sind im
Container-Scope entweder nicht verfuegbar oder strukturell keine
vollwertige Entsprechung. Keine Aenderung an wormstore.go, da der
bestehende Fail-Closed-Mechanismus (ImmutableLockSupported) bereits
korrekt reagiert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Untersuchung des wiederholt dokumentierten WORM-chattr-Befunds (QA-02/QA-05/QA-07, Archive-Board).
Ergebnis: echte Infrastrukturgrenze, kein Code-Bug, kein Fix in wormstore.go moeglich.
Wichtige Korrektur gegenueber bisheriger Doku: Nicht ZFS ist die Ursache, sondern dass Host 204/131 unprivilegierte LXC-Container sind.
CAP_LINUX_IMMUTABLE-Pruefung im Kernel ist klassisch, nicht namespace-bewusst (bewusste Kernel-Design-Entscheidung, LKML 2014, Patch dafuer abgelehnt). Problem traete identisch auf ext4/XFS/Btrfs auf, solange Container unprivilegiert ist.8 Alternativen geprueft (ZFS-CLI, Snapshots, Bind-Mount-readonly, Proxmox-Flags, setcap, verschachtelte User-Namespaces, FUSE, externes Object-Lock-Backend) — keine im Container-Scope ausreichend. Bestehendes Fail-Closed-Verhalten in
Put/ImmutableLockSupportedist bereits die richtige Reaktion, keine Code-Aenderung noetig.Einzige strukturell gleichwertige Alternative: echtes S3/MinIO Compliance-Mode Object-Lock-Backend — Architekturwechsel, nicht Teil dieses Nachtrags.
Kein Merge, kein Deploy — nur Dokumentation.
🤖 Generated with Claude Code
Inhalt bereits in main enthalten (geprueft per merge_all_prs.sh: leerer Merge-Diff). Geschlossen ohne Merge.
Pull request closed