Skip to content

Conversation

@jakobmoellerdev
Copy link
Member

What this PR does / why we need it

The specification defines how OCM repositories, component descriptors, and artifacts are stored and resolved inside OCI registries.
It standardizes the repository format, how component names map to OCI paths, and how versions are represented using either OCI manifests or OCI indexes.
It prescribes strict rules for descriptor selection, LocalBlob handling, digest validation, and version-to-tag mapping.
The specification also introduces a Component Index artifact used for referrer-based version discovery and defines fallback mechanisms for registries lacking referrer support.

Which issue(s) this PR is related to

This completely revamps the OCI mapping specification and makes it much more detailled and normative so we can base our multiple client implementations on it.

fixes open-component-model/ocm-project#718
based on open-component-model/open-component-model#1048

…d image index representations

Signed-off-by: Jakob Möller <[email protected]>
@jakobmoellerdev jakobmoellerdev changed the title docs: add examples for OCI repository mapping, artifact manifests, and image index representations docs: rewriting OCM OCI repository mapping Nov 25, 2025
Copy link
Contributor

@frewilhelm frewilhelm left a comment

Choose a reason for hiding this comment

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

part 1

Copy link
Contributor

@frewilhelm frewilhelm left a comment

Choose a reason for hiding this comment

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

Overall, everything sounded pretty logic. Well done!

Copy link

@matthiasbruns matthiasbruns left a comment

Choose a reason for hiding this comment

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

I liked this very much but felt it hard to follow after a while. Maybe it would benefit from a table showing MUST, MAY fields etc for each section?

jakobmoellerdev added a commit to open-component-model/open-component-model that referenced this pull request Nov 28, 2025
…or annotations (#1277)

<!-- markdownlint-disable MD041 -->
#### What this PR does / why we need it

removes 2 accidental whitespaces we create

#### Which issue(s) this PR fixes
<!--
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->

spotted originally in
open-component-model/ocm-spec#134 (comment)

Signed-off-by: Jakob Möller <[email protected]>
jakobmoellerdev added a commit to open-component-model/open-component-model that referenced this pull request Nov 28, 2025
<!-- markdownlint-disable MD041 -->
#### What this PR does / why we need it

when writing the component version annotation, we do not want to
preserve the component descriptor prefix, even if it can exist on some
legacy versions

#### Which issue(s) this PR fixes
<!--
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->

catched as part of
open-component-model/ocm-spec#134 (comment)

Signed-off-by: Jakob Möller <[email protected]>
@Skarlso Skarlso self-assigned this Dec 2, 2025
Signed-off-by: Jakob Möller <[email protected]>
Copy link
Contributor

@frewilhelm frewilhelm left a comment

Choose a reason for hiding this comment

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

In general a nice rework - Thanks! Easier to understand, but I still had some issues understanding everything,

Copy link
Contributor

@Skarlso Skarlso left a comment

Choose a reason for hiding this comment

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

I just had two questions in the entire thing. :D LGTM. :)

Signed-off-by: Jakob Möller <[email protected]>
Signed-off-by: Jakob Möller <[email protected]>
Signed-off-by: Jakob Möller <[email protected]>
Signed-off-by: Jakob Möller <[email protected]>
Signed-off-by: Jakob Möller <[email protected]>
Signed-off-by: Jakob Möller <[email protected]>
Signed-off-by: Jakob Möller <[email protected]>
@jakobmoellerdev jakobmoellerdev force-pushed the oci-repo-mapping branch 9 times, most recently from 6afc6da to bb8ce66 Compare December 11, 2025 18:38
frewilhelm
frewilhelm previously approved these changes Dec 12, 2025
@jakobmoellerdev jakobmoellerdev merged commit e9273b1 into open-component-model:main Dec 12, 2025
3 of 5 checks passed
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.

Specification Extension to ocm-spec for Index based Read Support

5 participants