Skip to content
This repository was archived by the owner on Mar 3, 2025. It is now read-only.
This repository was archived by the owner on Mar 3, 2025. It is now read-only.

Create an unpacking interface #52

@everettraven

Description

@everettraven

Add a Rukpak-like spec.source union type to the Catalog API, which would allow catalog filesystems to be sourced in a variety of ways. It would also give catalogd developers an extensible API surface to add new source mechanisms in the future.

The above quote was an idea mentioned in the OLMv1 Milestone 3 ideation discussion. We should implement an unpacking interface that allows us to easily support different sources of information for catalogs

An example of what this could look like on a CatalogSource CR in yaml:

apiVersion: catalogd.operatorframework.io/v1beta1
kind: CatalogSource
metadata: 
  name: catalogsource-sample
spec:
  source:
    type: catalogd.source.image
    image: quay.io/operatorhubio/catalog:latest

Acceptance Criteria:

  • Unit tests
  • An interface implemented for an unpacking source
  • An image unpacking source implementation
  • Updating the CatalogSource controller to use the unpacking interface instead of the currently hardcoded unpacking process

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions