openshift / console

OpenShift Cluster Console UI
https://www.openshift.org
Apache License 2.0
401 stars 613 forks source link

CONSOLE-4269: add custom ConsolePlugin resource details page #14487

Closed rhamilto closed 1 week ago

rhamilto commented 1 week ago

Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. Note https://github.com/openshift/console/pull/14374 includes a bug that needs to be addressed where not Loaded plugins do not appear in the Console plugins list.

In collaboration with @vojtechszocs 🥇

TODOs:

Demos

Plugin is Loaded

https://github.com/user-attachments/assets/08e9b736-12bb-4336-a0bb-72e7cc408657

Plugin is not Loaded (information from pluginStore is not available)

https://github.com/user-attachments/assets/2d8e1efb-880d-480b-aa61-dc8531ed06cc

Development setup

  1. Build, start, and run the console-demo-plugin locally.
  2. Apply the oc-manifest.yaml to the cluster.
  3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] fix failing [useTelemetry.spec.ts](https://github.com/openshift/console/blob/master/frontend/packages/console-shared/src/hooks/__tests__/useTelemetry.spec.ts) unit test | @vojtechszocs, mind taking a look? >- [ ] improve `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? > >https://github.com/user-attachments/assets/19a1c45d-9896-4aff-8419-9b69e551fb41 > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] fix failing [useTelemetry.spec.ts](https://github.com/openshift/console/blob/master/frontend/packages/console-shared/src/hooks/__tests__/useTelemetry.spec.ts) unit test | @vojtechszocs, mind taking a look? >- [ ] improve `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? >- [ ] add `Version` and `Description` below `Display Name` since they're included in the list view? | @jhadvig, WDYT? > >https://github.com/user-attachments/assets/19a1c45d-9896-4aff-8419-9b69e551fb41 > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? >- [ ] add `Version` and `Description` below `Display Name` since they're included in the list view? | @jhadvig, WDYT? > >https://github.com/user-attachments/assets/19a1c45d-9896-4aff-8419-9b69e551fb41 > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
rhamilto commented 1 week ago

@vojtechszocs, I removed the changes to useTelemetry.ts from this PR since they are unrelated the scope of the story and opened a bug to address.

openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? >- [x] add `Version` and `Description` below `Display Name` since they're included in the list view? | @jhadvig, WDYT? > >https://github.com/user-attachments/assets/19a1c45d-9896-4aff-8419-9b69e551fb41 > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Description`, `Version`, `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? >- [x] add `Version` and `Description` below `Display Name` since they're included in the list view? | @jhadvig, WDYT? > >### Demos > >Plugin is `Loaded` > >https://github.com/user-attachments/assets/08e9b736-12bb-4336-a0bb-72e7cc408657 > >Plugin is not `Loaded` (information from pluginStore is not available) > >https://github.com/user-attachments/assets/e9738b47-7dc9-4833-94a3-f489bd479084 > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Description`, `Version`, `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? > >### Demos > >Plugin is `Loaded` > >https://github.com/user-attachments/assets/08e9b736-12bb-4336-a0bb-72e7cc408657 > >Plugin is not `Loaded` (information from pluginStore is not available) > >https://github.com/user-attachments/assets/e9738b47-7dc9-4833-94a3-f489bd479084 > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Description`, `Version`, `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? > >### Demos > >Plugin is `Loaded` > >https://github.com/user-attachments/assets/08e9b736-12bb-4336-a0bb-72e7cc408657 > >Plugin is not `Loaded` (information from pluginStore is not available) > >https://github.com/user-attachments/assets/2d8e1efb-880d-480b-aa61-dc8531ed06cc > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Description`, `Version`, `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? > >### Demos > >Plugin is `Loaded` > >https://github.com/user-attachments/assets/08e9b736-12bb-4336-a0bb-72e7cc408657 > >Plugin is **not** `Loaded` (information from pluginStore is not available) > >https://github.com/user-attachments/assets/2d8e1efb-880d-480b-aa61-dc8531ed06cc > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. **Note** https://github.com/openshift/console/pull/14374 includes a bug that needs to be addressed where not Loaded plugins do not appear in the `Console plugins` list. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Description`, `Version`, `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? > >### Demos > >Plugin is `Loaded` > >https://github.com/user-attachments/assets/08e9b736-12bb-4336-a0bb-72e7cc408657 > >Plugin is **not** `Loaded` (information from pluginStore is not available) > >https://github.com/user-attachments/assets/2d8e1efb-880d-480b-aa61-dc8531ed06cc > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
rhamilto commented 1 week ago

QE Approver: /assign @yapei Docs Approver: /assign @opayne1 PX Approver: /assign @reestr

yanpzhan commented 1 week ago

@rhamilto when edit "Enabled" field on plugin details page, the plugin could be enabled repeatedly, we could see multiple plugins with same name in console operator, is it an issue? Screenshot from 2024-11-14 17-44-35

rhamilto commented 1 week ago

@rhamilto when edit "Enabled" field on plugin details page, the plugin could be enabled repeatedly, we could see multiple plugins with same name in console operator, is it an issue? Screenshot from 2024-11-14 17-44-35

@yanpzhan, I believe that is an existing issue. It's a bug, but not one that is hugely problematic. Mind opening a bug?

rhamilto commented 1 week ago

@yanpzhan, I believe that is an existing issue. It's a bug, but not one that is hugely problematic. Mind opening a bug?

This appears to be the result of the patch to the console config taking a while to occur (which happens sporadically). A partial fix is to disable the Save button if the enabled value hasn't been changed in the modal, but that only works reliably if the previous patch has already occurred and the console config is updated.

rhamilto commented 1 week ago

/retest

jhadvig commented 1 week ago

QE Approver: /assign @yapei Docs Approver: /assign @opayne1 PX Approver: /assign @reestr

Also worth to notice that this PR is cherry-picking CONSOLE-4264: Notify users of Console plugin related Content Security Policy violations and also contributing a fix for issue found by @yapei.

@opayne1 please review only commits contributed by @rhamilto, since @vojtechszocs was already reviewed by you. @yapei please test only functionality related to the ConsolePlugin details page. Thank you 🥇

rhamilto commented 1 week ago

/test e2e-gcp-console

reestr commented 1 week ago

/label px-approved

yanpzhan commented 1 week ago

Checked on cluster launched against the pr, tested consoleplugin 'Details' page and 'Plugin manifest' tab, features work as expected. /label qe-approved

openshift-ci-robot commented 1 week ago

@rhamilto: This pull request references CONSOLE-4269 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.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/console/pull/14487): >Includes changes from https://github.com/openshift/console/pull/14374, which should merge first. **Note** https://github.com/openshift/console/pull/14374 includes a bug that needs to be addressed where not Loaded plugins do not appear in the `Console plugins` list. > >In collaboration with @vojtechszocs 🥇 > >TODOs: > >- [ ] improve `Description`, `Version`, `Status`, `Enabled`, and `CSP Violations` popover text | @opayne1, can you help here? > >### Demos > >Plugin is `Loaded` > >https://github.com/user-attachments/assets/08e9b736-12bb-4336-a0bb-72e7cc408657 > >Plugin is **not** `Loaded` (information from pluginStore is not available) > >https://github.com/user-attachments/assets/2d8e1efb-880d-480b-aa61-dc8531ed06cc > >### Development setup > >1. [Build, start](https://github.com/openshift/console/tree/master/dynamic-demo-plugin#local-development), and [run](https://github.com/openshift/console/blob/4df2ddc4aa941a2916279983fdc27b0a29b64268/frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts#L22) the `console-demo-plugin` locally. >2. Apply the [oc-manifest.yaml](https://github.com/openshift/console/blob/master/dynamic-demo-plugin/oc-manifest.yaml) to the cluster. >3. Visit http://localhost:9000/k8s/cluster/console.openshift.io~v1~ConsolePlugin/console-demo-plugin/ > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fconsole). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
ahardin-rh commented 1 week ago

/label docs-approved

jhadvig commented 1 week ago

/lgtm

openshift-ci[bot] commented 1 week ago

[APPROVALNOTIFIER] This PR is APPROVED

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

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: - ~~[frontend/OWNERS](https://github.com/openshift/console/blob/master/frontend/OWNERS)~~ [jhadvig,rhamilto] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
spadgett commented 1 week ago

Hey, @rhamilto. This is great. I'm happy to see we have a nice details page.

Out of scope for this PR and story, but I had a few thoughts for future improvements:

  1. It would be good to show the plugin's supported OCP versions and make it clear when a plugin is disabled since its version range doesn't match the current OCP version. (I believe the supported versions are in the manifest, but would be good to have this on the overview tab. See plugin manifest properties.)
  2. Should we add a top-level nav items for Console Plugins to the Administration nav section? It would make it more discoverable.
  3. Syntax highlighting for the manifest JSON would be nice. Maybe we can use Monaco.
  4. I think a table of the extensions used by the plugin would be nice to have in addition to the manifest JSON (but keep the manifest tab for the complete JSON).

@jhadvig @vojtechszocs FYI

rhamilto commented 1 week ago

Hey, @rhamilto. This is great. I'm happy to see we have a nice details page.

Thanks for the feedback, @spadgett.

  1. It would be good to show the plugin's supported OCP versions and make it clear when a plugin is disabled since its version range doesn't match the current OCP version. (I believe the supported versions are in the manifest, but would be good to have this on the overview tab. See plugin manifest properties.)

Easy enough to add.

  1. Should we add a top-level nav items for Console Plugins to the Administration nav section? It would make it more discoverable.

Agreed.

  1. Syntax highlighting for the manifest JSON would be nice. Maybe we can use Monaco.

@vojtechszocs and I started down the path of using Monaco, but decided against it for the initial implementation because the read only mode of the existing YAML editor posed some usability questions that we didn't have time to contend with.

  1. I think a table of the extensions used by the plugin would be nice to have in addition to the manifest JSON (but keep the manifest tab for the complete JSON).

Easy enough to add.

rhamilto commented 6 days ago
  1. It would be good to show the plugin's supported OCP versions and make it clear when a plugin is disabled since its version range doesn't match the current OCP version. (I believe the supported versions are in the manifest, but would be good to have this on the overview tab. See plugin manifest properties.)

@spadgett, maybe something like this (note all the details in the video are not accurate such as Enabled)?

https://github.com/user-attachments/assets/115f4b54-c895-4cd6-8b63-1875e8ad4d92

rhamilto commented 6 days ago

3. Syntax highlighting for the manifest JSON would be nice. Maybe we can use Monaco.

@spadgett, we must've done something wonky with our initial attempt as this appears to be working correctly now.

I do wonder, is it weird to have two YAML editors?

https://github.com/user-attachments/assets/787c3d4b-2959-4d1c-92db-c4ed10849ca8

rhamilto commented 6 days ago

4. I think a table of the extensions used by the plugin would be nice to have in addition to the manifest JSON (but keep the manifest tab for the complete JSON).

Hmm. Given the variance amongst the extension properties, this one is a bit trickier to tabularize. 🤔

spadgett commented 6 days ago
  1. It would be good to show the plugin's supported OCP versions and make it clear when a plugin is disabled since its version range doesn't match the current OCP version. (I believe the supported versions are in the manifest, but would be good to have this on the overview tab. See plugin manifest properties.)

@spadgett, maybe something like this (note all the details in the video are not accurate such as Enabled)?

Screen.Recording.2024-11-19.at.9.08.21.AM.mov

@rhamilto Yeah, that looks good. We should probably show the current console version in the warning popover and add something to the plugin list table if we don't already have it. We can make it a separate story.

spadgett commented 6 days ago
  1. I think a table of the extensions used by the plugin would be nice to have in addition to the manifest JSON (but keep the manifest tab for the complete JSON).

Hmm. Given the variance amongst the extension properties, this one is a bit trickier to tabularize. 🤔

Yeah, I was hesitant about that, too. But even just the list of extension IDs would be helpful. We could show the resource kind for any extension that targets a specific resource and leave the column blank for other extension points. Or maybe not a table, but some other presentation.

spadgett commented 6 days ago
  1. Syntax highlighting for the manifest JSON would be nice. Maybe we can use Monaco.

@spadgett, we must've done something wonky with our initial attempt as this appears to be working correctly now.

I do wonder, is it weird to have two YAML editors?

Yeah, I'm undecided. Maybe we can style it differently or simplify the editor to make it more clear that it's read-only?

All of these suggestions can be follow-up PRs, particularly since this has merged. I'd say the compatible versions tweak is the most important to help admins troubleshoot plugins that aren't enabled.

rhamilto commented 5 days ago

2. Should we add a top-level nav items for Console Plugins to the Administration nav section? It would make it more discoverable.

Made this a bug so we can backport: https://github.com/openshift/console/pull/14521 @spadgett, mind reviewing?