Uploaded image for project: 'OpenShift Console'
  1. OpenShift Console
  2. CONSOLE-4728

Create a cached server endpoint for operator icons

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • None
    • None
    • OCP Console - Sprint 278

      As a user browsing the Operator catalog, I want operator icons to load efficiently so that the UI is responsive and performs well, even when displaying a large number of packages.

      In OLM v1, icons are stored in File-Based Catalogs (FBC) and served by the catalogd service. Since the icon data for the entire catalog can be quite large, we need an efficient way to serve these assets to the UI without repeatedly fetching them.

      This story involves creating a new caching mechanism on our server. This mechanism will use the catalogd meta endpoint to fetch package icon assets once, cache them, and serve them to the client.

      Acceptance Criteria

      • A new server endpoint is created to fetch and serve operator icons by package name.
      • The endpoint retrieves icon data from the catalogd service's meta endpoint.
      • Icons are cached on the server after the first successful fetch for a package.
      • A reasonable default cache expiration age (TTL) is determined and configured.
      • The endpoint supports standard HTTP cache-control headers, responding with a 304 Not Modified status when a client's cached version is still valid.
      • The UI is updated to use this new endpoint for displaying operator icons.
      • All <img> elements for operator icons in the catalog view use the loading="lazy" attribute to ensure they are requested only when scrolled into view.
      • Add unit tests for the new functionality

              rh-ee-jonjacks Jon Jackson
              rh-ee-jonjacks Jon Jackson
              None
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: