diff --git a/pkg/harvester/components/HarvesterUpgrade.vue b/pkg/harvester/components/HarvesterUpgrade.vue index c20c04a8..efe84f3e 100644 --- a/pkg/harvester/components/HarvesterUpgrade.vue +++ b/pkg/harvester/components/HarvesterUpgrade.vue @@ -5,8 +5,10 @@ import { Checkbox } from '@components/Form/Checkbox'; import ModalWithCard from '@shell/components/ModalWithCard'; import LabeledSelect from '@shell/components/form/LabeledSelect'; import { Banner } from '@components/Banner'; +import { HCI as HCI_ANNOTATIONS } from '@pkg/harvester/config/labels-annotations'; import { HCI } from '../types'; import UpgradeInfo from './UpgradeInfo'; + export default { name: 'HarvesterUpgrade', @@ -28,14 +30,15 @@ export default { data() { return { - upgrade: [], - upgradeMessage: [], - errors: '', - selectMode: true, - version: '', - enableLogging: true, - readyReleaseNote: false, - isOpen: false + upgrade: [], + upgradeMessage: [], + errors: '', + selectMode: true, + version: '', + enableLogging: true, + skipSingleReplicaDetachedVol: false, + readyReleaseNote: false, + isOpen: false }; }, @@ -68,6 +71,10 @@ export default { return this.$store.getters['harvester/schemaFor'](HCI.UPGRADE_LOG); }, + skipSingleReplicaDetachedVolFeatureEnabled() { + return this.$store.getters['harvester-common/getFeatureEnabled']('skipSingleReplicaDetachedVol'); + }, + releaseLink() { return `https://github.com/harvester/harvester/releases/tag/${ this.version }`; } @@ -104,6 +111,11 @@ export default { spec: { version: this.version } }; + if (this.skipSingleReplicaDetachedVolFeatureEnabled && this.skipSingleReplicaDetachedVol) { + upgradeValue.metadata.annotations = + { [HCI_ANNOTATIONS.SKIP_SINGLE_REPLICA_DETACHED_VOL]: JSON.stringify(this.skipSingleReplicaDetachedVol) }; + } + if (this.canEnableLogging) { upgradeValue.spec.logEnabled = this.enableLogging; } @@ -190,6 +202,21 @@ export default { /> +
+ +
+