Files
Andrey Kolkov a0b9e5eb11 docs(backups): describe BackupRetentionPolicy in backups core API design
Fold the retention design into the backups core API DESIGN.md as §4.6 instead
of a standalone proposal file, so it lives beside the resources it extends and
realises the "higher-level retention policies" §4.4 earmarks.

BackupRetentionPolicy is a namespaced CRD whose spec is a flat minCount/
maxCount/maxAge; a Backup joins one through a single retention-policy label
stamped from a retentionPolicyName field common to Plan, BackupJob and
BackupClass, the last acting as the namespace default. Matching is
namespace-local so identically named policies never collide, and artifacts move
between policies by relabel. §4.6 also spells out when each knob applies (floor
vs ceiling vs TTL, and the recovery-window caveat when a count ceiling meets a
frequent schedule). maxAge is a string with an h/d/w suffix so a window reads as
"90d" rather than a metav1.Duration capped at hours.

The Backup section declares that the platform owns backup cleanup end to end:
it never delegates expiry to an application operator's TTL or retention window,
drives deletion through the Backup object and its finalizer, and requires each
driver to reclaim physically under a single-authority, idempotent, serialized
contract.

Assisted-by: LLM
Signed-off-by: Andrey Kolkov <androndo@gmail.com>
2026-09-14 15:11:47 +04:00
..