Skip to content

Conversation

@Leo6Leo
Copy link
Contributor

@Leo6Leo Leo6Leo commented Oct 24, 2025

Description

As a part of the alignment of OpenShift console's dynamic plugin sdk and the OpenShift dynamic plugin sdk, we want to get rid of the long-standing legacy "static plugin" API which is still used in console.

To do this, we can gradually migrate each "static plugin extension" to the equivalent "dynamic extension". This ensures better alignment of web console code with its own SDK.

AC: All static extension in the plugin mentioned in the ticket name is removed and replaced with the dynamic counterpart

…ate console-extensions.json to include new topology data model factories for serving, eventing, and kamelets, and remove deprecated topology-plugin.ts file
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Oct 24, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Oct 24, 2025

@Leo6Leo: This pull request references CONSOLE-4806 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

In response to this:

Description

As a part of the alignment of OpenShift console's dynamic plugin sdk and the OpenShift dynamic plugin sdk, we want to get rid of the long-standing legacy "static plugin" API which is still used in console.

To do this, we can gradually migrate each "static plugin extension" to the equivalent "dynamic extension". This ensures better alignment of web console code with its own SDK.

AC: All static extension in the plugin mentioned in the ticket name is removed and replaced with the dynamic counterpart

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested review from TheRealJon and spadgett October 24, 2025 14:25
@openshift-ci openshift-ci bot added the component/knative Related to knative-plugin label Oct 24, 2025
Comment on lines +2017 to +2019
"resources": {
"$codeRef": "getKnativeResources.getKnativeServingResources"
},
Copy link
Member

Choose a reason for hiding this comment

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

resources expects a WatchK8sResourcesGeneric and not a codeRef

Comment on lines +2043 to +2045
"resources": {
"$codeRef": "getKnativeResources.getKnativeEventingResources"
},
Copy link
Member

@logonoff logonoff Oct 24, 2025

Choose a reason for hiding this comment

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

resources expects a WatchK8sResourcesGeneric and not a codeRef.

The challenge of this ticket is that getKnativeEventingResources is dynamic, so we need to modify console.topology/data/factory to also allow codeRefs.

We discussed in the dynamic plugin sync that this coderef should be typed with

resources: WatchK8sResourcesGeneric | CodeRef<() => Promise<WatchK8sResourcesGeneric>>.

The promise is needed as plugins may want to do some fetching in order to determine which k8s resources should be wtached.

This will require changes to any code which consumes the TopologyDataModelFactory extension. I suggest possibly writing a useTopologyDataModelFactory hook in the topology package to allow resolve the codeRefs

This API change is already approved by @spadgett so you will get plugin-api-approved with this change

Comment on lines +2063 to +2065
"resources": {
"$codeRef": "getKnativeResources.getKnativeEventingKameletsResources"
},
Copy link
Member

Choose a reason for hiding this comment

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

resources expects a WatchK8sResourcesGeneric and not a codeRef.

Copy link
Member

@jhadvig jhadvig left a comment

Choose a reason for hiding this comment

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

Nice job @Leo6Leo 👍

/lgtm
/approve

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 24, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 24, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jhadvig, Leo6Leo

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

The pull request process is described here

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 24, 2025
@Leo6Leo
Copy link
Contributor Author

Leo6Leo commented Oct 24, 2025

/hold for addressing the PR review from @logonoff

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 24, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 24, 2025

@Leo6Leo: The following tests 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-gcp-console 8f5dc89 link true /test e2e-gcp-console
ci/prow/okd-scos-e2e-aws-ovn 8f5dc89 link false /test okd-scos-e2e-aws-ovn

Full PR test history. Your PR dashboard.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. component/knative Related to knative-plugin do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants