Skip to content

chore(lightspeed): use inherit for pluginConfig - #2854

Merged
openshift-merge-bot[bot] merged 1 commit into
redhat-developer:release-1.10from
Jdubrick:use-config-inherit-lightspeed
May 17, 2026
Merged

chore(lightspeed): use inherit for pluginConfig#2854
openshift-merge-bot[bot] merged 1 commit into
redhat-developer:release-1.10from
Jdubrick:use-config-inherit-lightspeed

Conversation

@Jdubrick

Copy link
Copy Markdown
Contributor

Description

Which issue(s) does this PR fix or relate to

  • Fixes #issue_number

PR acceptance criteria

  • Tests
  • Documentation

How to test changes / Special notes to the reviewer

Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
@rhdh-qodo-merge

rhdh-qodo-merge Bot commented May 15, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0)

Context used
✅ Compliance rules (platform): 18 rules

Grey Divider


Remediation recommended

1. Lightspeed pluginConfig docs mismatch 🐞 Bug ⚙ Maintainability
Description
docs/lightspeed.md states Lightspeed UI elements are configured via the plugin's pluginConfig,
but this PR removes the Lightspeed pluginConfig from the shipped flavour dynamic-plugins
manifests, leaving no in-repo reference for how those UI elements are configured/customized. This
makes the documentation misleading and increases the risk of incorrect user overrides/support
burden.
Code

config/profile/rhdh/default-config/flavours/lightspeed/dynamic-plugins.yaml[R8-13]

      # Lightspeed Plugins
      - package: oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-lightspeed:{{inherit}}
        disabled: false
-        pluginConfig:
-          dynamicPlugins:
-            frontend:
-              red-hat-developer-hub.backstage-plugin-lightspeed:
-                translationResources:
-                  - importName: lightspeedTranslations
-                    module: Alpha
-                    ref: lightspeedTranslationRef
-                dynamicRoutes:
-                  - path: /lightspeed
-                    importName: LightspeedPage
-                mountPoints:
-                  - mountPoint: application/listener
-                    importName: LightspeedFAB
-                  - mountPoint: application/provider
-                    importName: LightspeedDrawerProvider
-                  - mountPoint: application/internal/drawer-state
-                    importName: LightspeedDrawerStateExposer
-                    config:
-                      id: lightspeed
-                  - mountPoint: application/internal/drawer-content
-                    importName: LightspeedChatContainer
-                    config:
-                      id: lightspeed
-                      priority: 100
+
      - package: oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend:{{inherit}}
        disabled: false
Relevance

⭐⭐ Medium

Docs fixes often accepted, but similar Lightspeed doc-mismatch updates were rejected (PR #2641); PR
#2848 removed config intentionally.

PR-#2641
PR-#2848

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The Lightspeed documentation explicitly references pluginConfig as the mechanism configuring the
chat UI elements, while the Lightspeed flavour dynamic plugins config no longer contains any
pluginConfig for the Lightspeed frontend plugin in any of the shipped manifests.

docs/lightspeed.md[94-102]
config/profile/rhdh/default-config/flavours/lightspeed/dynamic-plugins.yaml[6-13]
bundle/rhdh/manifests/rhdh-flavour-lightspeed-config_v1_configmap.yaml[314-327]
dist/rhdh/install.yaml[3336-3349]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The Lightspeed docs claim the UI elements (FAB/drawer/mount points) are configured through `pluginConfig`, but the Lightspeed flavour no longer ships any `pluginConfig` block in its dynamic plugins configuration. This creates a docs/config drift and removes a concrete reference implementation for customization.

## Issue Context
The PR removes the entire `pluginConfig` block for the Lightspeed frontend plugin from the flavour manifests (config/profile, bundle, and dist). If the new intended behavior is “pluginConfig is inherited/embedded elsewhere”, the docs should say where it comes from and how users can override it safely.

## Fix Focus Areas
- docs/lightspeed.md[94-102]
- config/profile/rhdh/default-config/flavours/lightspeed/dynamic-plugins.yaml[6-13]
- bundle/rhdh/manifests/rhdh-flavour-lightspeed-config_v1_configmap.yaml[314-327]
- dist/rhdh/install.yaml[3336-3349]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@sonarqubecloud

Copy link
Copy Markdown

@Jdubrick

Copy link
Copy Markdown
Contributor Author

/cc @rm3l

@openshift-ci
openshift-ci Bot requested a review from rm3l May 15, 2026 16:53
@rhdh-qodo-merge

Copy link
Copy Markdown

Review Summary by Qodo

Remove hardcoded Lightspeed plugin config to use inheritance

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Remove hardcoded pluginConfig from Lightspeed plugin
• Allow plugin to inherit configuration from parent
• Simplify dynamic plugin configuration management
• Update generated manifests and timestamps
Diagram
flowchart LR
  A["Lightspeed Plugin Config"] -->|"Remove hardcoded pluginConfig"| B["Use inherit mechanism"]
  B -->|"Simplify configuration"| C["Plugin inherits from parent"]
  D["Multiple config files"] -->|"Update consistently"| E["Bundle, dist, and profile files"]
Loading

Grey Divider

File Changes

1. bundle/rhdh/manifests/backstage-operator.clusterserviceversion.yaml ⚙️ Configuration changes +1/-1

Update operator manifest timestamp

• Update createdAt timestamp from 18:11:32Z to 19:47:29Z

bundle/rhdh/manifests/backstage-operator.clusterserviceversion.yaml


2. bundle/backstage.io/manifests/backstage-operator.clusterserviceversion.yaml ⚙️ Configuration changes +1/-1

Update operator manifest timestamp

• Update createdAt timestamp from 18:11:30Z to 19:47:31Z

bundle/backstage.io/manifests/backstage-operator.clusterserviceversion.yaml


3. bundle/rhdh/manifests/rhdh-flavour-lightspeed-config_v1_configmap.yaml ✨ Enhancement +1/-25

Remove hardcoded Lightspeed plugin configuration

• Remove entire pluginConfig section from Lightspeed frontend plugin
• Remove hardcoded configuration for translations, routes, and mount points
• Allow plugin to inherit configuration using {{inherit}} mechanism
• Simplify dynamic plugin definition to only package and disabled fields

bundle/rhdh/manifests/rhdh-flavour-lightspeed-config_v1_configmap.yaml


View more (2)
4. config/profile/rhdh/default-config/flavours/lightspeed/dynamic-plugins.yaml ✨ Enhancement +1/-25

Remove hardcoded Lightspeed plugin configuration

• Remove entire pluginConfig section from Lightspeed frontend plugin
• Remove hardcoded configuration for translations, routes, and mount points
• Allow plugin to inherit configuration using {{inherit}} mechanism
• Simplify dynamic plugin definition to only package and disabled fields

config/profile/rhdh/default-config/flavours/lightspeed/dynamic-plugins.yaml


5. dist/rhdh/install.yaml ✨ Enhancement +1/-25

Remove hardcoded Lightspeed plugin configuration

• Remove entire pluginConfig section from Lightspeed frontend plugin
• Remove hardcoded configuration for translations, routes, and mount points
• Allow plugin to inherit configuration using {{inherit}} mechanism
• Simplify dynamic plugin definition to only package and disabled fields

dist/rhdh/install.yaml


Grey Divider

Qodo Logo

@rhdh-qodo-merge rhdh-qodo-merge Bot added enhancement New feature or request Other labels May 15, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 09028da into redhat-developer:release-1.10 May 17, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm Other

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants