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;