From 62b80b3cec62c608d51b98e7a91a0146a91e9791 Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Mon, 9 Mar 2026 10:51:20 +0800 Subject: [PATCH] feat: add Insecure Skip TLS Verify checkbox in cluster-registration-url setting (#716) * feat: add Insecure Skip TLS Verify checkbox Signed-off-by: Andy Lee * refactor: set insecureSkipTLSVerify default to false Signed-off-by: Andy Lee * fix: conflict Signed-off-by: Andy Lee * refactor: remove unneeded change Signed-off-by: Andy Lee * fix: get the feature flag in data() Signed-off-by: Andy Lee * refactor: make data logic simpler Signed-off-by: Andy Lee * refactor: put tip in info banner Signed-off-by: Andy Lee --------- Signed-off-by: Andy Lee --- .../settings/cluster-registration-url.vue | 123 ++++++++++++++++++ pkg/harvester/config/feature-flags.js | 1 + pkg/harvester/config/settings.ts | 3 +- pkg/harvester/l10n/en-us.yaml | 6 + .../models/harvesterhci.io.setting.js | 8 ++ 5 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 pkg/harvester/components/settings/cluster-registration-url.vue diff --git a/pkg/harvester/components/settings/cluster-registration-url.vue b/pkg/harvester/components/settings/cluster-registration-url.vue new file mode 100644 index 00000000..7c0d81a4 --- /dev/null +++ b/pkg/harvester/components/settings/cluster-registration-url.vue @@ -0,0 +1,123 @@ + + + diff --git a/pkg/harvester/config/feature-flags.js b/pkg/harvester/config/feature-flags.js index be32b161..f57d4558 100644 --- a/pkg/harvester/config/feature-flags.js +++ b/pkg/harvester/config/feature-flags.js @@ -61,6 +61,7 @@ const FEATURE_FLAGS = { 'v1.8.0': [ 'hotplugCdRom', 'supportBundleFileNameSetting', + 'clusterRegistrationTLSVerify' ], }; diff --git a/pkg/harvester/config/settings.ts b/pkg/harvester/config/settings.ts index dab7a8d6..f29dd1e2 100644 --- a/pkg/harvester/config/settings.ts +++ b/pkg/harvester/config/settings.ts @@ -127,7 +127,8 @@ export const HCI_ALLOWED_SETTINGS = { export const HCI_SINGLE_CLUSTER_ALLOWED_SETTING = { [HCI_SETTING.CLUSTER_REGISTRATION_URL]: { - kind: 'url', + kind: 'custom', + from: 'import', canReset: true, }, [HCI_SETTING.UI_PL]: { diff --git a/pkg/harvester/l10n/en-us.yaml b/pkg/harvester/l10n/en-us.yaml index 849299a1..fc69790c 100644 --- a/pkg/harvester/l10n/en-us.yaml +++ b/pkg/harvester/l10n/en-us.yaml @@ -1351,6 +1351,12 @@ harvester: retention: How long to retain metrics retentionSize: Maximum size of metrics clusterRegistrationUrl: + url: URL + insecureSkipTLSVerify: Insecure Skip TLS Verify + tip: + prefix: Harvester secures cluster registration via TLS by default. If opt out "Insecure SKip TLS Verify", you must provide custom CA certificates using the + middle: 'additional-ca' + suffix: setting. message: To completely unset the imported Harvester cluster, please also remove it on the Rancher Dashboard UI via the Virtualization Management page. ntpServers: isNotIPV4: The address you entered is not IPv4 or host. Please enter a valid IPv4 address or a host address. diff --git a/pkg/harvester/models/harvesterhci.io.setting.js b/pkg/harvester/models/harvesterhci.io.setting.js index e9650dee..8c6e5488 100644 --- a/pkg/harvester/models/harvesterhci.io.setting.js +++ b/pkg/harvester/models/harvesterhci.io.setting.js @@ -52,11 +52,19 @@ export default class HciSetting extends HarvesterResource { }); } + get clusterRegistrationTLSVerifyFeatureEnabled() { + return this.$rootGetters['harvester-common/getFeatureEnabled']('clusterRegistrationTLSVerify'); + } + get customValue() { if (this.metadata.name === HCI_SETTING.STORAGE_NETWORK) { try { return JSON.stringify(JSON.parse(this.value), null, 2); } catch (e) {} + } else if (this.metadata.name === HCI_SETTING.CLUSTER_REGISTRATION_URL) { + try { + return this.clusterRegistrationTLSVerifyFeatureEnabled ? JSON.stringify(JSON.parse(this.value), null, 2) : this.value; + } catch (e) {} } return false;