Skip to content

rfc: olmv1 kubectl-operator package discovery #2208

@ankitathomas

Description

@ankitathomas

A/C:

  • Detail minimal search API to list contents of all catalogs in cluster.
  • Evaluate methods of exposing the catalogd search API off cluster. (port-forwarding, nodeport, gateway)

Background:
The kubectl-operator v1 subcommands do not have a subcommand to search catalog contents currently. The simplest implementation of this command involves:

  • accessing catalog contents
  • querying available catalogs for their entire contents, dumping returned bundles and associated metadata as parseable json/yaml.
  • optional: limit query result to a single search term, which should match a package name if provided.

To access catalog contents, the catalog either needs to be queried directly via catalogd apis, or by unpacking catalog images on cluster locally for querying the constituent FBC.

Following an earlier proposal to have kubectl-operator and openshift console provide identical workflows by using the same APIs, unpacking or rendering catalogs locally may not be feasible, but this method provides a way to query a catalog without having to access the on-cluster catalogd service.

Querying the catalogd service directly requires exposing the catalogd service to the external kubectl-operator client by either

  • port-forwarding (Note: portforwarding connection can fail/timeout when transmitting large catalogs)
  • setting up a gateway
  • exposing the catalogd service via a nodeport.

An RFC for the minimal search API for package discovery will detail these different approaches and any relevant alternative means to implementing a way of listing all contents of every catalog in a cluster.

See #1424

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/designCategorizes issue or PR as related to design.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions