v1 retirement, protected snapshots and fail-closed import exclusions #50

Closed
forge wants to merge 0 commits from v1-retention-20260923 into v1-integration-20260923
First-time contributor

A superseded version can now be hidden from catalogs and search while its exact manifest and payload remain servable. The new pkg6repo retire verbs plan, apply, restore, status, close-depot and check-policy keep retirement distinct from pkg5 pkg.obsolete; automatic inactivity policy is opt-in with a 12-month default and auditable access history. Protected snapshots keep their dependency closure solver-visible. Import policy accepts explicit exact/regex FMRI exclusions from KDL, text or JSON and rejects a batch whose exclusions break its dependency closure. No package is purged automatically.

Validation: focused libips retention (35), retirement (31), pkg6depotd HTTP (5), and pkg6repo retire CLI (4) tests passed. Independent Opus reviews checked access-log deletion, stopped-depot, crash and apply-fence cases; the resulting durable per-depot head detects missing newest logs. Full integrated CI, native package/manpage staging and actual pkg5 client smoke remain gates before the RC tag. The ADR number is intentionally renumbered when this branch merges into the integration line.

A superseded version can now be hidden from catalogs and search while its exact manifest and payload remain servable. The new `pkg6repo retire` verbs plan, apply, restore, status, close-depot and check-policy keep retirement distinct from pkg5 `pkg.obsolete`; automatic inactivity policy is opt-in with a 12-month default and auditable access history. Protected snapshots keep their dependency closure solver-visible. Import policy accepts explicit exact/regex FMRI exclusions from KDL, text or JSON and rejects a batch whose exclusions break its dependency closure. No package is purged automatically. Validation: focused libips retention (35), retirement (31), pkg6depotd HTTP (5), and pkg6repo retire CLI (4) tests passed. Independent Opus reviews checked access-log deletion, stopped-depot, crash and apply-fence cases; the resulting durable per-depot head detects missing newest logs. Full integrated CI, native package/manpage staging and actual pkg5 client smoke remain gates before the RC tag. The ADR number is intentionally renumbered when this branch merges into the integration line.
feat: policy retirement snapshots and explicit import exclusions
Some checks failed
CI / illumos (OpenIndiana) build + nextest (pull_request) Failing after 8m19s
CI / Linux (fmt / clippy / nextest / e2e / docs) (pull_request) Failing after 30m26s
cd22b951cb
Owner

Superseded by #54, which brings the whole RC13 line (feat/historical-import, a strict superset of v1-integration-20260923) to main in one pull request, as decided in ADR-015 item 6. Nothing from this branch is lost; closing to keep one integration path.

Superseded by #54, which brings the whole RC13 line (`feat/historical-import`, a strict superset of `v1-integration-20260923`) to `main` in one pull request, as decided in ADR-015 item 6. Nothing from this branch is lost; closing to keep one integration path.
toasterson closed this pull request 2026-09-27 13:13:10 +00:00
Some checks failed
CI / illumos (OpenIndiana) build + nextest (pull_request) Failing after 8m19s
CI / Linux (fmt / clippy / nextest / e2e / docs) (pull_request) Failing after 30m26s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OpenIndiana/ips!50
No description provided.