Skip to content

feat: setup helm blob transformer that can extract OCI layouts#530

Merged
Skarlso merged 17 commits into
open-component-model:mainfrom
jakobmoellerdev:oci-transformer-configs
Aug 27, 2025
Merged

feat: setup helm blob transformer that can extract OCI layouts#530
Skarlso merged 17 commits into
open-component-model:mainfrom
jakobmoellerdev:oci-transformer-configs

Conversation

@jakobmoellerdev

Copy link
Copy Markdown
Member

What this PR does / why we need it

This finally introduces an automatic HELM blob transformer

Which issue(s) this PR fixes

Once merged fixes open-component-model/ocm-project#553 by allowing ocm download resource --transformer helm to fully automatically return the helm chart natively.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@github-actions github-actions Bot added kind/feature new feature, enhancement, improvement, extension size/m Medium labels Aug 8, 2025
@jakobmoellerdev

Copy link
Copy Markdown
Member Author

While implementing I noticed the file names need to be made dynamic based on evaluating the OCM Image Config. Otherwise we cannot make dynamic names for helm charts a thing, which is unfortunately a must to properly get HELM charts to work. This is because if a helm chart is named differently from its declared name / version, helm CLI / lib will break

…figs

# Conflicts:
#	bindings/go/configuration/extract/v1alpha1/spec/config.go
@jakobmoellerdev jakobmoellerdev force-pushed the oci-transformer-configs branch from b371029 to dfafad1 Compare August 14, 2025 09:45
…figs

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev jakobmoellerdev force-pushed the oci-transformer-configs branch from dfafad1 to d4ddf54 Compare August 14, 2025 10:15
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
…figs

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>

# Conflicts:
#	cli/go.mod
#	cli/go.sum
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@github-actions github-actions Bot added the size/l Large label Aug 18, 2025
jakobmoellerdev added a commit that referenced this pull request Aug 18, 2025
… updates (#585)

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

- Add fallback logic to derive media type from blob if not specified in
local blob access.
- Ensure descriptor digest is initialized when updating local blob
resource for descriptor accuracy.
- Enhance test coverage for blob media type handling and descriptor
updates.

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

relates to findings on testing with
#530
causing integratio ntests to fail

---------

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
- Updated `ocm.software/open-component-model/bindings/go/oci` to version `v0.0.6`.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev jakobmoellerdev marked this pull request as ready for review August 18, 2025 15:36
@jakobmoellerdev jakobmoellerdev requested a review from a team as a code owner August 18, 2025 15:36
@jakobmoellerdev jakobmoellerdev force-pushed the oci-transformer-configs branch from 9aa6cd5 to 7bd510a Compare August 18, 2025 16:25
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev jakobmoellerdev force-pushed the oci-transformer-configs branch from 7bd510a to b76c2ad Compare August 18, 2025 16:30
@jakobmoellerdev jakobmoellerdev force-pushed the oci-transformer-configs branch 2 times, most recently from 440ddae to 661dc52 Compare August 18, 2025 16:58
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev jakobmoellerdev force-pushed the oci-transformer-configs branch from 661dc52 to 18cbe44 Compare August 18, 2025 16:59
fabianburth
fabianburth previously approved these changes Aug 22, 2025
Comment thread cli/cmd/download/resource/cmd.go Outdated
Comment thread cli/internal/transformers/default.go Outdated
…figs

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>

# Conflicts:
#	Taskfile.yml
#	bindings/go/helm/go.mod
#	bindings/go/helm/go.sum
#	cli/cmd/setup/setup.go
#	cli/go.mod
#	cli/go.sum
#	cli/integration/go.mod
#	cli/integration/go.sum
@jakobmoellerdev jakobmoellerdev force-pushed the oci-transformer-configs branch from 40fb15c to 340d3ec Compare August 26, 2025 07:03
@jakobmoellerdev

Copy link
Copy Markdown
Member Author

The major issue I have right now is that there is no way to get transformer configs by ID from the central .ocmconfig. I think for now this is fine but this means there is no customizeability.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
Comment thread cli/cmd/download/resource/cmd.go

@fabianburth fabianburth 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.

If it does not exist yet, please create a follow up issue to get transformer configs by ID from the central .ocmconfig.

@Skarlso Skarlso enabled auto-merge (squash) August 27, 2025 07:26
@Skarlso Skarlso merged commit 5effb7d into open-component-model:main Aug 27, 2025
22 checks passed
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 size/m Medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement OCI Blob Transformers for directly extracting Single Layer Artifacts (i.e. HELM Charts)

3 participants