Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: Vue3: Installed extensions throw unhandled exception #12071

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions docusaurus/docs/extensions/advanced/version-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ Here are the annotations you can modify:
| --- | --- | --- |
| `catalog.cattle.io/kube-version` | v2.7.0 | Defines a possible minimum and maximum Kubernetes version for the extension to work with. Prevents extension version from being loaded on the UI
| `catalog.cattle.io/rancher-version` | v2.7.0 | Defines a possible minimum and maximum Rancher version for the extension to work with. Prevents extension version from being loaded on the UI
| `catalog.cattle.io/host` | v2.7.0 | Defines the host for the extension, which should have the value `rancher-manager`. Prevents extension version from being loaded on the UI
| `catalog.cattle.io/ui-extensions-version` | v2.9.0 | Defines a possible minimum and maximum Extensions API version for the extension to work with. Prevents extension version from being loaded on the UI
| `catalog.cattle.io/ui-version` | v2.7.3 | Defines a possible minimum and maximum Rancher Dashboard version for the extension to work with. Extension version will be loaded but will appear as disabled


Since both `catalog.cattle.io/kube-version` and `catalog.cattle.io/rancher-version` will prevent a given extension version from being loaded onto the UI by the extensions operator, `catalog.cattle.io/ui-version` will have a sligthly different behaviour and allow for the extension version to be loaded, but will disable it on the Install, Upgrade and Rollback scenarios, where that given version will not appear on those dropdowns and also the extension version button on the side panel will be disabled and will show a tooltip on hover with the information, such as:

**NOTE: The annotation `catalog.cattle.io/ui-extensions-version` will become mandatory from Rancher 2.10 and onwards. If the annotation is not present on a given extension Helm Chart, the extension itself will not be loaded**

All annotations will prevent the loading of an extension into Rancher apart from `catalog.cattle.io/ui-version`, which will have a sligthly different behaviour and allow for the extension version to be loaded, but will disable it on the Install, Upgrade and Rollback scenarios, where that given version will not appear on those dropdowns and also the extension version button on the side panel will be disabled and will show a tooltip on hover with the information, such as:

![UI version annotation](../screenshots/ui-version-annotation.png)
11 changes: 6 additions & 5 deletions docusaurus/docs/extensions/support-matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
The Shell package enables Extensions to integrate with Rancher.
It's important to know which version of the Shell package is compatible with each Rancher version:

| | Rancher 2.7.x | Rancher 2.8.x | Rancher 2.9.x |
|---|---|---|---|
|Shell **0.3.8**|Supported|Limited support|Not supported|
|Shell 0.5.3/**1.2.3**|Limited support|Supported|Not supported|
|Shell **2.0.1**|Not supported|Not supported|Supported|
| | Rancher 2.7.x | Rancher 2.8.x <br/> (Extensions API V1) | Rancher 2.9.x <br/> (Extensions API V2) | Rancher 2.10.x <br/> (Extensions API V3) |
|---|---|---|---|---|
|Shell **0.3.8**|Supported|Limited support|Not supported|Not supported|
|Shell 0.5.3/**1.2.3**|Limited support|Supported|Not supported|Not supported|
|Shell **2.0.1**|Not supported|Not supported|Supported|Not supported|
|Shell **3.0.0**|Not supported|Not supported|Not supported|Supported|

To know more about the Shell package versioning take a look at the diagram [here](./rancher-2.9-support).

Expand Down
10 changes: 7 additions & 3 deletions shell/assets/translations/en-us.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4267,6 +4267,7 @@ inactivity:
plugins:
incompatibleRancherVersion: "The latest version of this extension ({ version }) is not compatible with the current Rancher version ({ required })."
incompatibleKubeVersion: "The latest version of this extension ({ version }) is not compatible with the current Kube version ({ required })."
incompatibleUiExtensionsApiVersionMissing: 'The latest version of this extension ({ version }) is missing the mandatory annotation catalog.cattle.io/ui-extensions-version from Rancher 2.10 and onwards.'
incompatibleUiExtensionsApiVersion: "The latest version of this extension ({ version }) is not compatible with the current Extensions API version ({ required })."
incompatibleHost: 'The latest version of this extension ({ version }) has a host of "{ required }" which is not compatible with this application "{ mainHost }".'
currentInstalledVersionBlockedByKubeVersion: "This version is not compatible with the current Kubernetes version ({ kubeVersion } Vs { kubeVersionToCheck })."
Expand All @@ -4286,9 +4287,11 @@ plugins:
title: Error loading extension
message: Could not load extension code
generic: Extension error
api: This Extension is not compatible with the current Extensions API version
host: This Extension is not compatible with this application
version: This Extension is not compatible with this version of Rancher
apiAnnotationMissing: 'Unable to load Extension. The version installed is not compatible with the current Extensions API Version (Extension is missing the annotation catalog.cattle.io/ui-extensions-version which implies incompatibility with Rancher 2.10 and onwards)'
api: Unable to load Extension. The version installed is not compatible with the current Extensions API version
host: Unable to load Extension. The version installed is not compatible with this application host
version: Unable to load Extension. The version installed is not compatible with the current version of Rancher
kubeVersion: Unable to load Extension. The version installed is not compatible with the current Rancher kubernetes version
load: An error occurred loading the code for this Extension
developerPkg: This Extension has been loaded internally, so we won't load the external version
success:
Expand All @@ -4308,6 +4311,7 @@ plugins:
versionError: Could not load version information
requiresRancherVersion: "Requires Rancher {required}"
requiresKubeVersion: "Requires Kube version {required}"
requiresExtensionApiVersionMissing: 'Missing the annotation catalog.cattle.io/ui-extensions-version which implies incompatibility with Rancher 2.10 and onwards'
requiresExtensionApiVersion: "Requires Extensions API version {required}"
requiresHost: 'Requires a host that matches "{mainHost}"'
empty:
Expand Down
Loading
Loading