mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 13:11:43 +00:00
* Refactor feature flags structure (#276) * refactor feature flags structure Signed-off-by: Andy Lee <andy.lee@suse.com> * Replace with FEATURE_FLAGS and valid and sort versions Signed-off-by: Andy Lee <andy.lee@suse.com> --------- Signed-off-by: Andy Lee <andy.lee@suse.com> (cherry picked from commit f8079c592485c51155f59037b395c611c04d327a) # Conflicts: # pkg/harvester/config/feature-flags.js * resolve conflict Signed-off-by: Andy Lee <andy.lee@suse.com> --------- Signed-off-by: Andy Lee <andy.lee@suse.com> Co-authored-by: Andy Lee <andy.lee@suse.com>
56 lines
1.3 KiB
JavaScript
56 lines
1.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',
|
|
],
|
|
'v1.4.1': [],
|
|
'v1.4.2': [
|
|
'refreshIntervalInSecond',
|
|
'allowEmptySnapshotClassName'
|
|
],
|
|
'v1.4.3': [],
|
|
'v1.5.0': [
|
|
'tpmPersistentState',
|
|
'efiPersistentState',
|
|
'untaggedNetworkSetting',
|
|
'skipSingleReplicaDetachedVol',
|
|
'thirdPartyStorage'
|
|
],
|
|
'v1.5.1': [],
|
|
};
|
|
|
|
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();
|