Skip to content

feat: oci artifact uploader spec#1769

Merged
matthiasbruns merged 59 commits into
open-component-model:mainfrom
matthiasbruns:feat/oci-artifact-uploader_spec
Feb 13, 2026
Merged

feat: oci artifact uploader spec#1769
matthiasbruns merged 59 commits into
open-component-model:mainfrom
matthiasbruns:feat/oci-artifact-uploader_spec

Conversation

@matthiasbruns

Copy link
Copy Markdown
Contributor

What this PR does / why we need it

This PR adds AddOCIArtifact spec to oci.

type AddOCIArtifactSpec struct {
	// Resource is the resource descriptor to add.
	// If the Resource contains an access specification, it may be used
	// by the underlying implementation to derive metadata to avoid additional compute
	// (such as digest information) or to steer implementation (such as a reference name)
	Resource *v2.Resource `json:"resource"`
	// File is the access specification to the file that should be added
	File v1alpha1.File `json:"file"`
}

We expect a file access and a resource descriptor as input for the add transformation. The file will be uploaded to the OCIRepository based on the Resource input.

type AddOCIArtifactOutput struct {
	// Resource is the updated resource descriptor with complete oci image reference
	Resource *v2.Resource `json:"resource"`
}

The output of the transformation is the updated Resource pointing to the newly uploaded oci image.

Which issue(s) this PR fixes

Contributes: open-component-model/ocm-project#875

Part of:

@github-actions github-actions Bot added the size/l Large label Feb 12, 2026
@matthiasbruns matthiasbruns changed the title Feat/oci artifact uploader spec feat: oci artifact uploader spec Feb 12, 2026
@github-actions github-actions Bot added the kind/feature new feature, enhancement, improvement, extension label Feb 12, 2026
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>

# Conflicts:
#	bindings/go/oci/spec/transformation/v1alpha1/scheme.go
#	bindings/go/oci/spec/transformation/v1alpha1/zz_generated.deepcopy.go
#	bindings/go/oci/spec/transformation/v1alpha1/zz_generated.ocm_jsonschema.go
#	bindings/go/oci/spec/transformation/v1alpha1/zz_generated.ocm_type.go
#	bindings/go/oci/transformer/get_oci_artifact.go
#	bindings/go/oci/transformer/get_oci_artifact_test.go
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>

# Conflicts:
#	bindings/go/plugin/manager/registries/resource/contract.go
#	bindings/go/plugin/manager/registries/resource/resource_converter.go
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>

# Conflicts:
#	bindings/go/oci/integration/go.sum
#	cli/go.sum
#	cli/integration/go.mod
#	cli/integration/go.sum
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
matthiasbruns and others added 12 commits February 12, 2026 16:41
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Matthias Bruns <github@matthiasbruns.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>

@Skarlso Skarlso left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I have two things only actually.

Comment thread bindings/go/oci/spec/transformation/v1alpha1/add_oci_artifact.go Outdated
Comment thread bindings/go/oci/integration/integration_test.go
@matthiasbruns matthiasbruns force-pushed the feat/oci-artifact-uploader_spec branch from 2d9ae7b to 8af3ef4 Compare February 12, 2026 16:33
Skarlso
Skarlso previously approved these changes Feb 12, 2026

@Skarlso Skarlso left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

👍

On-behalf-of: SAP <matthias.bruns@sap.com>
Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
@matthiasbruns matthiasbruns merged commit 79ff130 into open-component-model:main Feb 13, 2026
19 checks passed
morri-son pushed a commit to morri-son/open-component-model that referenced this pull request Feb 16, 2026
<!-- markdownlint-disable MD041 -->
#### What this PR does / why we need it
This PR adds AddOCIArtifact spec to oci.

```go
type AddOCIArtifactSpec struct {
	// Resource is the resource descriptor to add.
	// If the Resource contains an access specification, it may be used
	// by the underlying implementation to derive metadata to avoid additional compute
	// (such as digest information) or to steer implementation (such as a reference name)
	Resource *v2.Resource `json:"resource"`
	// File is the access specification to the file that should be added
	File v1alpha1.File `json:"file"`
}
```
We expect a file access and a resource descriptor as input for the add
transformation. The file will be uploaded to the `OCIRepository` based
on the `Resource` input.

```go
type AddOCIArtifactOutput struct {
	// Resource is the updated resource descriptor with complete oci image reference
	Resource *v2.Resource `json:"resource"`
}
```
The output of the transformation is the updated `Resource` pointing to
the newly uploaded oci image.

#### Which issue(s) this PR fixes
Contributes:
open-component-model/ocm-project#875

Part of:
- open-component-model#1765

---------

Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Matthias Bruns <github@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Co-authored-by: Fabian Burth <fabian.burth@sap.com>
morri-son pushed a commit to morri-son/open-component-model that referenced this pull request Feb 18, 2026
<!-- markdownlint-disable MD041 -->
#### What this PR does / why we need it
This PR adds AddOCIArtifact spec to oci.

```go
type AddOCIArtifactSpec struct {
	// Resource is the resource descriptor to add.
	// If the Resource contains an access specification, it may be used
	// by the underlying implementation to derive metadata to avoid additional compute
	// (such as digest information) or to steer implementation (such as a reference name)
	Resource *v2.Resource `json:"resource"`
	// File is the access specification to the file that should be added
	File v1alpha1.File `json:"file"`
}
```
We expect a file access and a resource descriptor as input for the add
transformation. The file will be uploaded to the `OCIRepository` based
on the `Resource` input.

```go
type AddOCIArtifactOutput struct {
	// Resource is the updated resource descriptor with complete oci image reference
	Resource *v2.Resource `json:"resource"`
}
```
The output of the transformation is the updated `Resource` pointing to
the newly uploaded oci image.

#### Which issue(s) this PR fixes
Contributes:
open-component-model/ocm-project#875

Part of:
- open-component-model#1765

---------

Signed-off-by: Matthias Bruns <git@matthiasbruns.com>
Signed-off-by: Matthias Bruns <github@matthiasbruns.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Co-authored-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Gerald Morrison (SAP) <gerald.morrison@sap.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature new feature, enhancement, improvement, extension size/l Large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants