Skip to content

[02/03] service-backup: publish immutable BackupSets manifest-last and retain complete sets - #63

Open
chrischeng-c4 wants to merge 1 commit into
mainfrom
issue/17
Open

chrischeng-c4 wants to merge 1 commit into
mainfrom
issue/17

Conversation

@chrischeng-c4

Copy link
Copy Markdown
Contributor

Closes #17

Summary of Changes

  • Implemented SetKeyLayout and SetKeyError in crates/service-backup/src/domain/set_key_layout.rs providing immutable, collision-safe key derivation (artifact_key, manifest_key, latest_key, set_prefix) and parse_set_id with strict validation of prefix, set_id, and artifact name.
  • Implemented SetInventory, SetState, RetentionPlan, and plan_retention in crates/service-backup/src/domain/retention_plan.rs providing deterministic retention planning, keeping the newest keep_latest complete sets (at least 1), marking older complete sets for deletion, and classifying aged partial sets as orphans based on orphan_grace.
  • Declared modules in crates/service-backup/src/domain.rs and re-exported public types from crates/service-backup/src/lib.rs.
  • Registered and implemented comprehensive unit tests covering all 10 acceptance scenarios in crates/service-backup/tests/it/set_layout.rs.
  • Fixed needless as_bytes lint warning in crates/service-backup/tests/it/projected_admin_transport.rs.

Local Validation

  • Unit tests: cargo test -p service-backup --test it set_layout (10 passed, 0 failed)
  • Formatting: cargo fmt -p service-backup -- --check (clean)
  • Lints: cargo clippy --no-deps -p service-backup --all-features --all-targets -- -D warnings (clean)

Cloud CI Validation Needed (NOT RUN locally per policy)

  • MR CI: affected unit and functional/integration checks across cloud environments (GCS/S3 sinks).
  • Performance regression checks and full release qualification matrix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[02/03] service-backup: publish immutable BackupSets manifest-last and retain complete sets

1 participant