Files
nexarch/archive/migrations/0008_worm_objects_object_lock.up.sql
patrickandClaude Sonnet 5 589e8f07bc RET-11: storage-seitige-worm-durchsetzung-object-lock-statt-nur-anwendungslogik
Migration 0008: retain_until/released_at fuer worm_objects.
wormstore.Put setzt zusaetzlich zu chmod 0400 (RET-04) das Linux-
immutable-Attribut (chattr +i) - verhindert auch Loeschen/Umbenennen,
nicht nur Ueberschreiben, und wirkt anders als chmod auch gegen root
ohne explizites chattr -i. Release/Destroy als kontrollierter, an
retain_until gebundener Freigabe-/Loeschpfad.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPsyieCYwvbUBsnN598SbP
2026-09-17 14:23:46 +02:00

9 lines
408 B
SQL

-- RET-11: Storage-seitige Object-Lock-Sperre. retain_until wird beim
-- Schreiben festgelegt und ist Voraussetzung fuer Release; released_at
-- markiert die Freigabe nach Fristablauf, Voraussetzung fuer Destroy.
ALTER TABLE worm_objects
ADD COLUMN retain_until TIMESTAMPTZ NOT NULL DEFAULT now(),
ADD COLUMN released_at TIMESTAMPTZ;
ALTER TABLE worm_objects ALTER COLUMN retain_until DROP DEFAULT;