Skip to content

Provide helm Input Method #490

@jakobmoellerdev

Description

@jakobmoellerdev

Description

OCM Component Versions should be constructable with Input Methods.

One of our most central input methods is the HELM input method. This method is based on the helm AccessMethod https://github.com/open-component-model/ocm/blob/6ffef303c0e794cc8d0b980b240c23bd9fa0be45/api/ocm/extensions/accessmethods/helm/method.go and Input method in old OCM: https://github.com/open-component-model/ocm/blob/4a1aa4fa4668b2a0758a0d0a2d2c0e7c5d180d7e/cmds/ocm/commands/ocmcmds/common/inputs/types/helm/spec.go.

The goal is to build an input method based on an external plugin. This means that we do not want to use HELM as an inbuilt plugin but rather as the first external plugin that gets dynamically loaded by OCM.

See open-component-model/open-component-model#110 for context on how to build an input method.

Scope:

  • Creation of a separate go module for the HELM Input Plugin in the monorepo
  • The Module should be delivered as a binary plugin and not be inbuilt into the CLI by default right now
  • Being able to load the plugin as a dynamic Input Plugin in OCM via the CLI
  • Then using the same specification as previous OCM had to pull in the method (Eventually, the plugin registry will serve as a hot loading mechanism for the Input method, but for now, expecting the plugin to be present on the filesystem is fine)

Done Criteria

  • Code has been reviewed by other team members
  • Analysis of existing tests (Unit and Integration)
  • Unit Tests created for new code or existing Unit Tests updated
  • Integration Test Suite updated (includes deletion of existing unnecessary Integration Test and/or creation of new ones if required)
  • Enduser Documentation updated (if applicable)
  • Internal technical Documentation created/updated (if applicable)
  • Successful demonstration in Review

Metadata

Metadata

Labels

area/ipceiImportant Project of Common European Interestkind/tasksmall task, normally part of feature or epic

Type

No fields configured for Task.

Projects

Status
🍺 Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions