Skip to content

Conversation

@karthikjeeyar
Copy link
Member

@karthikjeeyar karthikjeeyar commented Jan 7, 2026

Hey, I just made a Pull Request!

https://issues.redhat.com/browse/RHIDP-8299

Renamed plugins from marketplace to extensions

This PR contains the following changes:

  • Renamed all packages from backstage-plugin-marketplace-* to backstage-plugin-extensions-*
  • Updated all internal references, exports, and API endpoints
  • lazy load codeEditor to reduce the frontend plugin bundle size
  • Made catalog entities directory path configurable via extensions.directory in app-config.yaml with fallback to extensions and marketplace directorie

Screenshots/video:

Extension_in_cluster.mov
image

New Configuration for specifying the catalog-entities path:

extensions:
  # Optional: Custom directory path for extension YAML files
  # Can be absolute path or relative to the working directory
  # If not specified, falls back to:
  #   - /extensions (filesystem root)
  #   - /marketplace (filesystem root)
  directory: /path/to/custom/extensions

How to test in cluster?

  1. Add the following configuration in app-config.yaml (configmap)

Note: for this testing, you need to add the catalog locations from below config, automatic discovery is work in progress.

dangerouslyAllowSignInWithoutUserInCatalog: true

auth:
  providers:
    guest:
      dangerouslyAllowOutsideDevelopment: true

integrations:
  github:
    - host: github.com
      token: <your_github_token>
catalog:
  rules:
    - allow: [Component, System, API, Resource, Plugin, PluginCollection, Package, Location]
  locations:
    - type: url
      target:  https://github.com/redhat-developer/rhdh-plugins/blob/main/workspaces/marketplace/examples/all-plugins.yaml
      rules:
        - allow: [Plugin]
    - type: url
      target:  https://github.com/redhat-developer/rhdh-plugins/blob/main/workspaces/marketplace/examples/all-packages.yaml
      rules:
        - allow: [Package]

permission:
  enabled: false 

extensions:
  installation:
    enabled: true
    saveToSingleFile:
      file: /opt/app-root/src/dynamic-plugins.default.yaml
  1. Use this image in your dynamic-plugins configmap:
includes:
    - dynamic-plugins.default.yaml
plugins:
  - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic
    disabled: true
  - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace
    disabled: true
  - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic
    disabled: true

  - package: oci://quay.io/karthik_jk/extensions:latest!red-hat-developer-hub-backstage-plugin-catalog-backend-module-extensions
    disabled: false
  - package: oci://quay.io/karthik_jk/extensions:latest!red-hat-developer-hub-backstage-plugin-extensions
    disabled: false
    pluginConfig:
      dynamicPlugins:
        frontend:
          red-hat-developer-hub.backstage-plugin-extensions:
            appIcons:
              - name: pluginsIcon
                importName: PluginsIcon
            dynamicRoutes:
              - path: /extensions
                importName: DynamicExtensionsPluginRouter
                menuItem:
                  icon: pluginsIcon
                  text: Extensions
                  textKey: menuItem.extensions
            menuItems:
              extensions:
                parent: default.admin
  - package: oci://quay.io/karthik_jk/extensions:latest!red-hat-developer-hub-backstage-plugin-extensions-backend
    disabled: false

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or Updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)

@rhdh-gh-app
Copy link

rhdh-gh-app bot commented Jan 7, 2026

Important

This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior.

Changed Packages

Package Name Package Path Changeset Bump Current Version
app workspaces/extensions/packages/app none v0.0.0
backend workspaces/extensions/packages/backend none v0.0.0
@red-hat-developer-hub/extensions-cli workspaces/extensions/packages/cli minor v0.13.2
@red-hat-developer-hub/backstage-plugin-catalog-backend-module-extensions workspaces/extensions/plugins/catalog-backend-module-extensions minor v0.13.2
@red-hat-developer-hub/backstage-plugin-extensions-backend workspaces/extensions/plugins/extensions-backend minor v0.13.2
@red-hat-developer-hub/backstage-plugin-extensions-common workspaces/extensions/plugins/extensions-common minor v0.13.2
@red-hat-developer-hub/backstage-plugin-extensions workspaces/extensions/plugins/extensions minor v0.13.2

@karthikjeeyar karthikjeeyar force-pushed the refactor-extensions-plugins branch from 59ff5ef to 926dbec Compare January 7, 2026 08:43
@karthikjeeyar karthikjeeyar force-pushed the refactor-extensions-plugins branch from 926dbec to 74f5dec Compare January 7, 2026 12:30
@karthikjeeyar karthikjeeyar marked this pull request as ready for review January 7, 2026 12:30
@karthikjeeyar karthikjeeyar requested review from sanketpathak and removed request for a team January 7, 2026 12:30
@karthikjeeyar karthikjeeyar force-pushed the refactor-extensions-plugins branch 16 times, most recently from 2e25d32 to c94a915 Compare January 9, 2026 12:32
@karthikjeeyar karthikjeeyar force-pushed the refactor-extensions-plugins branch 2 times, most recently from 438a3a1 to 90c530e Compare January 9, 2026 13:04
rm3l added a commit to rm3l/rhdh that referenced this pull request Jan 9, 2026
…ions' by default

'marketplace' is being replaced in favor of 'extensions'

[1] redhat-developer/rhdh-plugins#2006

Co-authored-by: Karthik Jeeyar <[email protected]>
openshift-merge-bot bot pushed a commit to redhat-developer/rhdh that referenced this pull request Jan 9, 2026
…ge when `CATALOG_INDEX_IMAGE` is set [RHIDP-11291] (#3970)

* chore: Add unit tests

* fix(install-dynamic-plugins): also extract catalog entities from index image when CATALOG_INDEX_IMAGE is set [RHIDP-11291]

* docs: Update docs accordingly

* Remove existing catalog entities in dest dir for clean sync with the content of the index image

This is to take into account the case where the catalog index image is updated and contains completely different catalog entities. Without this, we might still see the previous extensions displayed in the Extensions UI

* Also remove the /marketplace/catalog-entities files from the container image

It is now useless as it only contains a README file

* Extract extensions catalog entities to '<dynamic-plugins-root>/extensions' by default

'marketplace' is being replaced in favor of 'extensions'

[1] redhat-developer/rhdh-plugins#2006

Co-authored-by: Karthik Jeeyar <[email protected]>

* Search for the catalog entities folder in the 'extensions' folder from the catalog index image, with a fallback to 'marketplace' (for backward compatibility)

---------

Co-authored-by: Karthik Jeeyar <[email protected]>
@karthikjeeyar karthikjeeyar force-pushed the refactor-extensions-plugins branch 3 times, most recently from 366e1ad to 105a421 Compare January 10, 2026 07:41
@karthikjeeyar karthikjeeyar force-pushed the refactor-extensions-plugins branch from 105a421 to 7aaa04c Compare January 10, 2026 07:47
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants