mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 21:21:44 +00:00
* refactor: rename hotplug volume * feat: add hotplug NIC * feat: add hot unplug * refactor: rename NIC * feat: get latest status * feat: disable not ready options * feat: filter out system networks * refactor: update wordings --------- (cherry picked from commit f9bff21e840885a120679864a0ef312163bd48a7) Signed-off-by: Yi-Ya Chen <yiya.chen@suse.com> Co-authored-by: Yiya Chen <yiya.chen@suse.com>
76 lines
1.7 KiB
JavaScript
76 lines
1.7 KiB
JavaScript
import semver from 'semver';
|
|
|
|
const FEATURE_FLAGS = {
|
|
'v1.3.0': [
|
|
'supportHarvesterClusterVersion'
|
|
],
|
|
'v1.3.1': [
|
|
'autoRotateRke2CertsSetting',
|
|
'supportBundleNodeCollectionTimeoutSetting'
|
|
],
|
|
'v1.3.2': [
|
|
'kubeconfigDefaultTokenTTLMinutesSetting',
|
|
'improveMaintenanceMode',
|
|
],
|
|
'v1.3.3': [],
|
|
'v1.4.0': [
|
|
'cpuPinning',
|
|
'usbPassthrough',
|
|
'volumeEncryption',
|
|
'schedulingVMBackup',
|
|
'vmSnapshotQuota',
|
|
'longhornV2LVMSupport',
|
|
'improveMaintenanceMode',
|
|
'upgradeConfigSetting'
|
|
],
|
|
'v1.4.1': [],
|
|
'v1.4.2': [
|
|
'refreshIntervalInSecond',
|
|
'allowEmptySnapshotClassName'
|
|
],
|
|
'v1.4.3': [],
|
|
'v1.5.0': [
|
|
'tpmPersistentState',
|
|
'efiPersistentState',
|
|
'untaggedNetworkSetting',
|
|
'skipSingleReplicaDetachedVol',
|
|
'thirdPartyStorage',
|
|
'liveMigrationProgress'
|
|
],
|
|
'v1.5.1': [],
|
|
'v1.6.0': [
|
|
'customSupportBundle',
|
|
'csiOnlineExpandValidation',
|
|
'vmNetworkMigration',
|
|
'kubeovnVpcSubnet',
|
|
'rancherClusterSetting',
|
|
'cpuMemoryHotplug',
|
|
'cdiSettings',
|
|
'vmCloneRunStrategy',
|
|
],
|
|
'v1.6.1': [],
|
|
'v1.7.0': [
|
|
'vmMachineTypeAuto',
|
|
'lhV2VolExpansion',
|
|
'l2VlanTrunkMode',
|
|
'kubevirtMigration',
|
|
'hotplugNic'
|
|
]
|
|
};
|
|
|
|
const generateFeatureFlags = () => {
|
|
const versions = [...Object.keys(FEATURE_FLAGS)].filter((version) => semver.valid(version)).sort(semver.compare);
|
|
|
|
const generatedFlags = {};
|
|
|
|
versions.forEach((version, index) => {
|
|
const previousVersion = versions[index - 1];
|
|
|
|
generatedFlags[version] = previousVersion ? [...generatedFlags[previousVersion], ...FEATURE_FLAGS[version]] : [...FEATURE_FLAGS[version]];
|
|
});
|
|
|
|
return generatedFlags;
|
|
};
|
|
|
|
export const RELEASE_FEATURES = generateFeatureFlags();
|