Skip to content

Conversation

@karthikjeeyar
Copy link
Member

Description

Rename marketplace wrapper package names to extensions-*

Which issue(s) does this PR fix

  • Fixes

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

Imported example catalog entities from rhdh-plugins repository: https://github.com/redhat-developer/rhdh-plugins/tree/main/workspaces/extensions/examples

Extension

PR acceptance criteria

Please make sure that the following steps are complete:

  • GitHub Actions are completed and successful
  • Unit Tests are updated and passing
  • E2E Tests are updated and passing
  • Documentation is updated if necessary (requirement for new features)
  • Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

@rhdh-qodo-merge
Copy link

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

RHIDP-11431 - Partially compliant

Compliant requirements:

  • Rename the RHDH wrapper/package naming from marketplace to extensions.
  • Ensure references/configurations (dynamic plugin configs, app config, tests, translations) are updated to use the new extensions naming.
  • Keep compatibility where needed so existing consumers don’t break unexpectedly.

Non-compliant requirements:

Requires further human verification:

  • Validate GitHub Actions are green and the renamed dynamic plugin packages build/publish as expected.
  • Validate E2E tests against a deployed instance to ensure the Extensions UI loads and translations resolve correctly.
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🔒 No security concerns identified
⚡ Recommended focus areas for review

Backward-compat Export

The file re-exports extensionsTranslationRef/extensionsTranslations and also aliases them as marketplaceTranslationRef/marketplaceTranslations. This is useful for backward compatibility, but it should be explicitly documented as deprecated (and ideally temporarily supported), and the export statement should be formatted to avoid a long single-line export with // NOSONAR (which can mask real issues and may violate lint/format rules).

import { extensionsTranslationRef, extensionsTranslations} from "@red-hat-developer-hub/backstage-plugin-extensions/alpha";


export { extensionsTranslationRef, extensionsTranslations, extensionsTranslationRef as marketplaceTranslationRef, extensionsTranslations as marketplaceTranslations };// NOSONAR
YAML Indentation

The new frontend plugin config block under red-hat-developer-hub.backstage-plugin-extensions includes several indentation-sensitive sections (e.g., translationResources, appIcons, dynamicRoutes). Please double-check the YAML structure so lists and keys are correctly nested; incorrect indentation can silently break dynamic plugin loading at runtime.

# - package: oci://quay.io/rhdh/red-hat-developer-hub-backstage-plugin-marketplace:1.9.0--0.11.4!red-hat-developer-hub-backstage-plugin-marketplace
  # new approach using oci images: to switch to the new approach, remove
  # these comments + the next two lines, but keep the pluginConfig details.
  # disabled: true
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions
  disabled: false
  pluginConfig:
    dynamicPlugins:
      frontend:
        red-hat-developer-hub.backstage-plugin-extensions:
          translationResources:
          - importName: extensionsTranslations
            ref: extensionsTranslationRef
            module: Alpha
          appIcons:
          - name: pluginsIcon
            importName: PluginsIcon
          dynamicRoutes:
          - path: /extensions
            importName: DynamicExtensionPluginRouter
            menuItem:
              icon: pluginsIcon
              text: Extensions
              textKey: menuItem.extensions
          menuItems:
            extensions:
              parent: default.admin
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions-backend-dynamic
  disabled: false
📄 References
  1. redhat-developer/rhdh-chart/charts/orchestrator-infra/values.schema.json [1-133]
  2. redhat-developer/rhdh-chart/charts/backstage/values.schema.tmpl.json [107-135]
  3. redhat-developer/rhdh-chart/charts/orchestrator-infra/values.schema.tmpl.json [1-136]
  4. redhat-developer/rhdh-chart/charts/backstage/values.schema.tmpl.json [268-334]
  5. redhat-developer/rhdh-chart/charts/backstage/values.schema.tmpl.json [1-106]
  6. redhat-developer/rhdh-chart/charts/backstage/values.schema.tmpl.json [137-267]
  7. redhat-developer/rhdh-chart/charts/backstage/values.schema.tmpl.json [448-452]
  8. redhat-developer/rhdh-chart/charts/backstage/values.schema.tmpl.json [335-447]

@rhdh-qodo-merge
Copy link

PR Type

Enhancement


Description

  • Rename marketplace plugin packages to extensions across all wrappers

  • Update configuration files and dynamic plugin references to use extensions naming

  • Update E2E tests and translation files to reference extensions instead of marketplace

  • Bump version numbers to 0.14.2 for affected packages

  • Update package consistency checker script to reference extensions catalog directory


File Walkthrough

Relevant files
Enhancement
3 files
alpha.ts
Create new alpha exports for extensions plugin                     
+4/-0     
alpha.ts
Remove marketplace alpha exports file                                       
+0/-4     
check_package_yaml_consistency.py
Update script to reference extensions catalog directory   
+8/-8     
Tests
1 files
extensions.ts
Update test localization keys from marketplace to extensions
+10/-10 
Configuration changes
12 files
values_showcase.yaml
Update plugin package references to extensions naming       
+3/-3     
app-config.dynamic-plugins.yaml
Update dynamic plugin configuration to use extensions       
+6/-6     
dynamic-plugins.default.yaml
Update default plugin configuration to extensions naming 
+9/-9     
package.json
Update package name and version to extensions                       
+4/-4     
tsconfig.json
Update output directory path to extensions naming               
+1/-1     
turbo.json
Update turbo task output paths to extensions                         
+1/-1     
package.json
Update backend plugin package name and version                     
+8/-8     
tsconfig.json
Update output directory path to extensions naming               
+1/-1     
turbo.json
Update turbo task output paths to extensions                         
+1/-1     
package.json
Update frontend plugin package name and version                   
+8/-8     
tsconfig.json
Update output directory path to extensions naming               
+1/-1     
turbo.json
Update turbo task output paths to extensions                         
+1/-1     
Documentation
5 files
rhdh-plugins-reference-2025-12-05-fr-C.json
Update French translations from marketplace to extensions
+2/-2     
rhdh-plugins-reference-2025-12-05-it-C.json
Update Italian translations from marketplace to extensions
+2/-2     
rhdh-plugins-reference-2025-12-05-ja-C.json
Update Japanese translations from marketplace to extensions
+2/-2     
all-v1.8_s3281-en.json
Update English test translations to extensions                     
+2/-2     
missing-fr-translations.json
Update French test translations to extensions                       
+1/-1     
Additional files
9 files
.eslintignore [link]   
.eslintrc.js [link]   
index.ts [link]   
.eslintignore [link]   
.eslintrc.js [link]   
index.ts [link]   
.eslintignore [link]   
.eslintrc.js [link]   
index.ts [link]   

@rhdh-qodo-merge
Copy link

rhdh-qodo-merge bot commented Jan 15, 2026

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix typo in router import name

Fix a typo in importName in dynamic-plugins.default.yaml, changing
DynamicExtensionPluginRouter to DynamicExtensionsPluginRouter to prevent a
runtime error and ensure consistency with other configuration files.

dynamic-plugins.default.yaml [479-484]

 - path: /extensions
-  importName: DynamicExtensionPluginRouter
+  importName: DynamicExtensionsPluginRouter
   menuItem:
     icon: pluginsIcon

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies a typo in importName (DynamicExtensionPluginRouter vs DynamicExtensionsPluginRouter) which would likely cause a runtime error. Fixing this ensures consistency and correct application behavior.

Medium
General
Remove unused compatibility exports

Remove the marketplaceTranslationRef and marketplaceTranslations compatibility
aliases from the export in alpha.ts, as they are likely no longer needed after
the 'marketplace' to 'extensions' rename.

dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-extensions/src/alpha.ts [4]

-export { extensionsTranslationRef, extensionsTranslations, extensionsTranslationRef as marketplaceTranslationRef, extensionsTranslations as marketplaceTranslations };// NOSONAR
+export { extensionsTranslationRef, extensionsTranslations };// NOSONAR
  • Apply / Chat
Suggestion importance[1-10]: 5

__

Why: The suggestion correctly identifies that the compatibility aliases for marketplace might be unnecessary after the refactoring. Removing them would improve code clarity, although their presence is explicitly for backward compatibility which might be needed.

Low
  • Update

Copy link
Member

@nickboldt nickboldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci
Copy link

openshift-ci bot commented Jan 15, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: nickboldt

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions
Copy link
Contributor

The image is available at:

/test e2e-ocp-helm

@nickboldt
Copy link
Member

nickboldt commented Jan 15, 2026

only 1 of 44 tests failed with

84s         Warning   BackOff             pod/rhdh-rbac-developer-hub-7ff7b448cc-srh95                   Back-off restarting failed container install-dynamic-plugins in pod rhdh-rbac-developer-hub-7ff7b448cc-srh95_showcase-rbac(3874e589-71db-40ff-a263-e902b5d752b4)
24s         Normal    Pulling             pod/user-onboarding-644d659c47-zgd7f                           Pulling image "quay.io/orchestrator/demo-user-onboarding:latest"
20s         Warning   BackOff             pod/user-onboarding-5bdbc4c889-4jbsn                           Back-off restarting failed container workflow in pod user-onboarding-5bdbc4c889-4jbsn_showcase-rbac(9aa12efe-1278-4167-809e-46542b6e43ac)
10s         Warning   Unhealthy           pod/sonataflow-platform-jobs-service-794ccdcc6f-h55zq          Readiness probe failed: HTTP probe failed with statuscode: 503

can we ignore that? seems unrelated...

@openshift-ci openshift-ci bot removed the lgtm label Jan 15, 2026
@openshift-ci
Copy link

openshift-ci bot commented Jan 15, 2026

New changes are detected. LGTM label has been removed.

@github-actions
Copy link
Contributor

The image is available at:

/test e2e-ocp-helm

@karthikjeeyar
Copy link
Member Author

/retest

@karthikjeeyar
Copy link
Member Author

Verified the PR image in rhdh-local

image

@github-actions
Copy link
Contributor

The image is available at:

/test e2e-ocp-helm

Copy link
Member

@ciiay ciiay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(refer the following comment)

Copy link
Member

@ciiay ciiay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @karthikjeeyar 🤝
It looks to me only one thing I noticed. In e2e-tests/playwright/e2e/extensions.spec.ts, it still uses plugin.marketplace to locate the headings. Will this be a problem? The rest is all good 👍

@karthikjeeyar
Copy link
Member Author

@ciiay I have updated that reference in extensions.spec.ts. I also noticed that e2e job is broken in all the PRs and the errors seems to be unrelated to PR changes.

@sonarqubecloud
Copy link

@github-actions
Copy link
Contributor

The image is available at:

/test e2e-ocp-helm

@invincibleJai invincibleJai requested a review from ciiay January 16, 2026 05:48
@invincibleJai
Copy link
Member

/retest

@openshift-ci
Copy link

openshift-ci bot commented Jan 16, 2026

@karthikjeeyar: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-ocp-helm f9d0978 link true /test e2e-ocp-helm

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants