diff --git a/pkg/harvester/edit/harvesterhci.io.management.cluster.vue b/pkg/harvester/edit/harvesterhci.io.management.cluster.vue
index 93860b88..41c8484e 100644
--- a/pkg/harvester/edit/harvesterhci.io.management.cluster.vue
+++ b/pkg/harvester/edit/harvesterhci.io.management.cluster.vue
@@ -113,6 +113,12 @@ export default {
@finish="saveOverride"
@error="e=>errors = e"
>
+
+ {{ t('harvesterManager.cluster.supportMessage') }}
+ >
Harvester Web Site or read the the Harvester Docs
description: Harvester is a modern Hyperconverged infrastructure (HCI) solution built for bare metal servers using enterprise-grade open source technologies including Kubernetes, Kubevirt and Longhorn.
+ supportMessage: Harvester UI Extension only supports Harvester cluster version >= 1.3.0
plugins:
loadError: Error loading harvester plugin
rke:
diff --git a/pkg/harvester/list/harvesterhci.io.management.cluster.vue b/pkg/harvester/list/harvesterhci.io.management.cluster.vue
index 4e6f47db..ac52bc64 100644
--- a/pkg/harvester/list/harvesterhci.io.management.cluster.vue
+++ b/pkg/harvester/list/harvesterhci.io.management.cluster.vue
@@ -87,6 +87,16 @@ export default {
},
methods: {
+ disableClusterLink(row) {
+ // eslint-disable-next-line no-console
+ console.log('🚀 ~ disableClusterLink ~ row:', row);
+ if (!row.isSupportedHarvesterVersion) {
+ return true;
+ }
+
+ return this.navigating ? true : null;
+ },
+
async goToCluster(row) {
const timeout = setTimeout(() => {
// Don't show loading indicator for quickly fetched plugins
@@ -148,7 +158,7 @@ export default {
{{ row.nameDisplay }}
diff --git a/pkg/harvester/models/harvesterhci.io.management.cluster.js b/pkg/harvester/models/harvesterhci.io.management.cluster.js
index 6a2a407e..758dae60 100644
--- a/pkg/harvester/models/harvesterhci.io.management.cluster.js
+++ b/pkg/harvester/models/harvesterhci.io.management.cluster.js
@@ -2,7 +2,8 @@ import ProvCluster from '@shell/models/provisioning.cattle.io.cluster';
import { DEFAULT_WORKSPACE, HCI, MANAGEMENT } from '@shell/config/types';
import { HARVESTER_NAME, HARVESTER_NAME as VIRTUAL } from '@shell/config/features';
import { SETTING } from '@shell/config/settings';
-
+import semver from 'semver';
+import { serverVersion } from '../utils/feature-flags';
export default class HciCluster extends ProvCluster {
get stateObj() {
return this._stateObj;
@@ -29,6 +30,26 @@ export default class HciCluster extends ProvCluster {
return false;
}
+ get stateDescription() {
+ if (!this.isSupportedHarvesterVersion) {
+ return this.t('harvesterManager.cluster.supportMessage');
+ }
+
+ return '';
+ }
+
+ /**
+ * harvester ui extension only supports harvester cluster version >= 1.3.0
+ */
+ get isSupportedHarvesterVersion() {
+ const version = serverVersion(this.$rootGetters);
+
+ // eslint-disable-next-line no-console
+ console.log('🚀 ~ HciCluster ~ getisSupportedHarvesterVersion ~ version:', version);
+
+ return semver.gte(version, '1.3.0');
+ }
+
/**
* Fetch and cache the response for /ui-info
*