Class FsHistoryPolicy

java.lang.Object
zeroecho.pki.impl.fs.FsHistoryPolicy

public final class FsHistoryPolicy extends Object
History configuration for mutable entities stored by FilesystemPkiStore.

"Mutable" here means: the entity may be replaced/updated over time, but every replacement must remain audit-able. This implementation achieves that by writing an immutable history record (append-only) and then updating current.bin atomically.

  • Method Details

    • onWrite

      public static FsHistoryPolicy onWrite(Optional<Duration> retentionWindow)
      Creates a history policy with FsHistoryPolicy.CleanupStrategy.ON_WRITE.
      Parameters:
      retentionWindow - optional retention window; when present, entries older than now - retentionWindow are deleted during writes (best-effort, deterministic order)
      Returns:
      policy
    • disabled

      public static FsHistoryPolicy disabled()
      Disables history tracking.

      Disabling history implies that updates to the entity are still atomic, but audit reconstruction and snapshot export may be limited or impossible.

      Returns:
      policy
    • enabled

      public boolean enabled()
      Whether history is enabled.
      Returns:
      true if enabled
    • cleanupStrategy

      public FsHistoryPolicy.CleanupStrategy cleanupStrategy()
      Cleanup strategy.
      Returns:
      strategy
    • retentionWindow

      public Optional<Duration> retentionWindow()
      Optional retention window.
      Returns:
      retention window