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;