Skip to content

Conversation

@frhuelsz
Copy link
Contributor

🔍 Description

Adds deserialization and validation with testing for COSI 1.2.

@frhuelsz frhuelsz requested a review from a team as a code owner January 23, 2026 23:25
Copilot AI review requested due to automatic review settings January 23, 2026 23:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds parsing and validation support for COSI (Composable OS Image) specification version 1.2, which introduces partition metadata to track original partition information alongside filesystem images.

Changes:

  • Adds KnownMetadataVersion::V1_2 enum variant and corresponding version handling
  • Introduces Partition struct to represent partition metadata with fields for path, size, type, UUID, label, and number
  • Adds partitions optional field to CosiMetadata and image_files() helper method
  • Implements v1.2 validation rules for partition metadata including uniqueness checks and path validation
  • Adds comprehensive error types for v1.2 validation failures
  • Updates documentation table formatting for improved readability

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
docs/Reference/Composable-OS-Image.md Formatting improvements to Partition object table for better readability
crates/trident/src/osimage/cosi/metadata.rs Adds V1_2 version variant, Partition struct definition, partitions field, and image_files() iterator method
crates/trident/src/osimage/cosi/validation.rs Implements v1.2 validation logic for partitions with tests covering duplicate numbers, zero numbers, unknown paths, and missing partitions
crates/trident/src/osimage/cosi/error.rs Adds four new error variants for v1.2 partition validation failures
crates/trident/src/osimage/cosi/mod.rs Updates test fixtures to include partitions field for existing v1.0 metadata

@frhuelsz frhuelsz merged commit 20c5e31 into main Jan 24, 2026
19 checks passed
@fintelia fintelia deleted the user/frhuelsz/cosi/1.2-parsing branch January 26, 2026 20:51
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.

3 participants