Skip to content

[epic]: Better controls for disambiguating packages that appear in multiple catalogs #1023

@joelanford

Description

@joelanford

After #1028 is complete, ClusterExtension users will have a minimum level of control over selection of catalogs. However more control may be desirable on the ClusterCatalog side.

In this epic, we will explore two additional controls around how this selection works.

  1. Adding a prioritization field on the ClusterCatalog spec.
  2. Adding a field that helps define the policy for when a catalog should be used for resolution.

Open Questions:

  1. With a priority field, how would the tie breaker work? Would it be:
    a. "if package foo exists in multiple catalogs, only resolve from the highest priority catalog" OR
    b. "if package foo exists in multiple catalogs AND both catalogs have the same highest version, only then use the catalog priority to choose a winner

    I think option (a) is the least surprising of the two.

  2. Is it strange or awkward if we end up with APIs in ClusterCatalog and ClusterExtension that contribute to the selection criteria? Going further, would it be a breaking change if we added something like enabled: false to the ClusterCatalog because old clients might exist that are unaware of the new field and would assume that all ClusterCatalogs are enabled?

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicv1.0Issues related to the initial stable release of OLMv1

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions