mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2026-10-07 22:56:07 +08:00
The storage performance options ship in Harvester v1.9.1, not v1.9.0.
Move highPerformanceStorage to the v1.9.1 feature flags so the UI does
not offer them on v1.9.0 clusters.
(cherry picked from commit da36db143f)
Signed-off-by: Alejandro Bonilla <abonilla@suse.com>
Co-authored-by: Alejandro Bonilla <abonilla@suse.com>
102 lines
2.3 KiB
JavaScript
102 lines
2.3 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',
|
|
'resumeUpgradePausedNode',
|
|
],
|
|
'v1.7.1': [],
|
|
'v1.8.0': [
|
|
'hotplugCdRom',
|
|
'supportBundleFileNameSetting',
|
|
'clusterRegistrationTLSVerify',
|
|
'vGPUAsPCIDevice',
|
|
'instanceManagerResourcesSetting',
|
|
'rwxNetworkSetting',
|
|
'createPVCWithDataVolume',
|
|
'clusterPodSecurityStandardSetting',
|
|
],
|
|
'v1.8.1': [],
|
|
'v1.9.0': [
|
|
'supportFilesystem',
|
|
'disableResourcePooling',
|
|
'expandOnlineEncryptedVolume',
|
|
'longhornV2HugepageSettings',
|
|
'staticIPForVM',
|
|
'fsFreezeDeadline',
|
|
],
|
|
'v1.9.1': [
|
|
'lvmDmThinOnly',
|
|
'highPerformanceStorage',
|
|
],
|
|
'v1.10.0': [],
|
|
};
|
|
|
|
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();
|