Skip to content

Support multiple versions of a given stack/sample in a given registry #735

Closed
@elsony

Description

@elsony

Which area this feature is related to?
/area registry

Which functionality do you think we should add?

In order to provide better parent adoption, we need to start supporting multiple versions of devfile to be stored in a given registry so that the user can refer to a specific version of a parent devfile.

Why is this needed? Is your feature request related to a problem?
As a new version of devfile specification, e.g. devfile 2.2, gets introduced, stack providers may want to provide different versions of a stack to provide support based on different devfile specifications. This is important since different tools/stacks will move up to a new devfile specification support at a different pace. It will be helpful for transitioning to a newer version of the specification without causing breakage to existing tools.

Detailed description:

Describe the solution you'd like

More investigation is required to provide multiple versions of the same devfile in a registry. The area of consideration should include:

  1. Structure the source repository on how a stack can provide different versions of the same stack/devfile
  2. How the registry REST API, Go library allows clients to filter the specific version(s) of the devfile, e.g. only devfile 2.1 and 2.2, when querying the list of devfile the registry
  3. Any potential new metadata needed on the index.json
  4. How it affects the registry build
  5. What infrastructure/API does tools need to support multiple devfile versions
  6. How do we represent different versions in the devfile registry viewer
  7. Stretch: take into consideration supporting devfiles of the same stack that uses different base images when designing this feature (see Discussion on switching to use universal developer image in devfile samples #674 for details)

Describe alternatives you've considered

Use different registries to store devfiles using different devfile specification versions. This approach means we have to maintain multiple registries at the same time and the user will need to know different URLs for the registry access as well as the registry viewer.

Additional context

Metadata

Metadata

Assignees

Labels

area/registryDevfile registry for stacks and infrastructurekind/epicA high level requirement that can/should be split into smaller issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions