feat(compose): SUP-01 Compose OCI — The Margo Way - #199
Closed
javatask wants to merge 1 commit into
Closed
Conversation
Implement Specification Update Proposal SUP-01 which defines the normative Compose Archive packaging model for Margo, following the same OCI registry pattern established for Helm components. Schema changes (application-description.linkml.yaml): - Make repository and revision required for all component types - Add SemVer 2.0 pattern constraint on revision field - Remove packageLocation and keyLocation fields (never released) Schema changes (desired-state.linkml.yaml): - Add optional revision attribute to Component class with SemVer pattern Documentation (application-registry.md): - Add Compose-specific OCI media types to Margo-Specific Media Types table (application/vnd.org.margo.component.compose+json and application/vnd.org.margo.component.compose.tar+gzip) - Add normative Compose Archive Structure section (directory layout, security constraints, integrity verification) - Add publishing workflow guidance (oras push recommended) - Add wait semantics for Compose components Documentation (index.md.jinja2): - Update ComponentProperties compose table to document repository/revision - Remove Investigation Needed block for compose properties Examples: - Update all compose examples to use repository/revision instead of packageLocation/keyLocation Resolves: margo#168, margo#166, margo#179 SUP: specification-enhancements/proposals/compose-oci/sup-01-compose-oci.md Breaking-Change: yes (pre-draft, no backward compat required) Signed-off-by: Andrii Melashchenko <andrii.melashchenko@belden.com>
|
Author
|
Closing — will re-submit after manual review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements SUP-01: Compose OCI — The Margo Way, which defines the normative Compose Archive packaging model for Margo following the same OCI registry pattern established for Helm components.
Changes
Schema:
application-description.linkml.yamlrepositoryandrevisionrequired for all component types (Helm + Compose)revisionfieldpackageLocationandkeyLocationfields (never appeared in a released specification)Schema:
desired-state.linkml.yamlrevisionattribute toComponentclass with SemVer patternDocumentation:
application-registry.mdapplication/vnd.org.margo.component.compose+json(artifactType)application/vnd.org.margo.component.compose.tar+gzip(layer mediaType)oras pushrecommended,docker compose publishincompatible)waitsemantics for Compose componentsDocumentation:
index.md.jinja2repository/revisionExamples
repository/revisioninstead ofpackageLocation/keyLocationIssues Resolved
Conformance Impact
Testing
packageLocation/keyLocationremain in schemas or examplesSUP Reference
Full proposal: sup-01-compose-oci.md
Contributor: Andrii Melashchenko, Belden Inc.
CLA: Signed under Open Web Foundation Contributor License Agreement