pub fn retention_view(b: &Snapshot) -> Option<SnapshotRetentionView>Expand description
Build a retention view from a Snapshot CR, using status.timing.endTime
(falling back to the CR creation timestamp). Returns None if the backup is
not in a terminal successful state — only successful snapshots participate in
GFS (failures are bounded separately by failedJobsHistoryLimit).
Lives in kopiur-api rather than in the controller because the web UI’s
“would retention keep this?” preview has to select the same population the
prune does. A preview built from a different population is not a preview: one
that admitted Deleting rows, or dropped rows whose endTime was missing,
answers about a set the operator will never evaluate.