Uploaded image for project: 'Red Hat Internal Developer Platform'
  1. Red Hat Internal Developer Platform
  2. RHIDP-2816

POC catalog based Backend to provide metadata of available plugins

Create Doc EPIC for Fe...Prepare for Y ReleasePrepare for Z ReleaseRemove QuarterXMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Critical Critical
    • 1.5.0
    • None
    • Dynamic plugins
    • None
    • Backend to provide metadata of available plugins in registry.
    • False
    • Hide

      None

      Show
      None
    • False
    • RHIDP-5216Marketplace plugin
    • To Do
    • RHIDP-5216 - Marketplace plugin
    • QE Needed, Docs Needed, TE Needed, Customer Facing, PX Needed
    • 100% To Do, 0% In Progress, 0% Done

      EPIC Goal

      • Backend to provide metadata of available plugins in registry. Look at providing a layered approach to providing data to the frontend based on information in the catalog and possibly external sources. The entities that make up the plugin marketplace should not be visible in the normal catalog views except by users with the correct role like an admin. The backend will probably have to deal with a number of remote registry sources, possibly images that contain large json files with catalog data and may have to deal with reconciling duplicate entries etc.

      All of this could possibly be implemented as layers on top of the existing backstage catalog system, the goal of this epic is to put together a design of this.

      some ideas:

      • catalog ingestors for plugin metadata
      • catalog ingestors for plugin image registries
      • catalog ingestors for runtime plugin state (installed, uninstalled etc)

      No extra backend is needed for this, this should come as a set of catalog extensions and location types.

      Background/Feature Origin

      • Users need a way to browse and find plugins along with their basic metadata.

      Why is this important?

      • Facilitates easy discovery and usage of plugins by providing metadata and cataloging functionality, improving user experience.

      User Scenarios

      • Frontend can access a full catalog of available plugins with minimal metadata.
      • Frontend can access detailed information for a specific plugin.
      • Admins can configure multiple container registries to be browsed within app-config.yaml.

      Dependencies (internal and external)

      • Integration with container registries.
      • Configuration dependencies in app-config.yaml.

      Acceptance Criteria

      • List full catalog of plugins with limited metadata.
      • Provide details for a specific plugin.
      • Enable configuration of multiple container registries in app-config.yaml.
      • Implement logic to collect plugin metadata from container registries and cache the data, ensuring cache invalidation without DB storage.

      Release Enablement/Demo - Provide necessary release enablement details and documents.
      DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
      DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
      DEV - Downstream build attached to advisory: <link to errata>
      QE - Test plans in Playwright: <link or reference to playwright>
      QE - Automated tests merged: <link or reference to automated tests>
      DOC - Downstream documentation merged: <link to meaningful PR>

              Unassigned Unassigned
              rh-ee-mhild Marcel Hild
              RHIDP - Dynamic Plugins
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: