mirror of https://github.com/rancher/dashboard.git
fix restore detail view and unset storagelocation when using existing baackup
remove ability to edit restore crs change placement of deletetimeoutseconds
This commit is contained in:
parent
4c6643aa8e
commit
b5b9c81f13
|
|
@ -52,10 +52,6 @@ export default {
|
||||||
this.allSecrets = hash.secrets;
|
this.allSecrets = hash.secrets;
|
||||||
this.allBackups = hash.backups;
|
this.allBackups = hash.backups;
|
||||||
this.apps = hash.apps;
|
this.apps = hash.apps;
|
||||||
|
|
||||||
if (hash.backups.length) {
|
|
||||||
this.storageSource = 'useBackup';
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
|
|
@ -73,6 +69,10 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
|
availableBackups() {
|
||||||
|
return this.allBackups.filter(backup => backup.state !== 'error');
|
||||||
|
},
|
||||||
|
|
||||||
chartNamespace() {
|
chartNamespace() {
|
||||||
const BRORelease = this.apps.filter(release => get(release, 'spec.name') === 'rancher-backup')[0];
|
const BRORelease = this.apps.filter(release => get(release, 'spec.name') === 'rancher-backup')[0];
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ export default {
|
||||||
const options = ['useDefault', 'configureS3'];
|
const options = ['useDefault', 'configureS3'];
|
||||||
const labels = [this.t('backupRestoreOperator.restoreFrom.default'), this.t('backupRestoreOperator.restoreFrom.s3')];
|
const labels = [this.t('backupRestoreOperator.restoreFrom.default'), this.t('backupRestoreOperator.restoreFrom.s3')];
|
||||||
|
|
||||||
if (this.allBackups.length) {
|
if (this.availableBackups.length) {
|
||||||
options.unshift('useBackup');
|
options.unshift('useBackup');
|
||||||
labels.unshift( this.t('backupRestoreOperator.restoreFrom.existing'));
|
labels.unshift( this.t('backupRestoreOperator.restoreFrom.existing'));
|
||||||
}
|
}
|
||||||
|
|
@ -106,11 +106,13 @@ export default {
|
||||||
storageSource(neu, old) {
|
storageSource(neu, old) {
|
||||||
if (neu === 'useDefault') {
|
if (neu === 'useDefault') {
|
||||||
delete this.value.spec.storageLocation;
|
delete this.value.spec.storageLocation;
|
||||||
} else if (!this.value.spec.storageLocation) {
|
} else if (!this.value.spec.storageLocation && neu === 'configureS3') {
|
||||||
this.$set(this.value.spec, 'storageLocation', { s3: {} });
|
this.$set(this.value.spec, 'storageLocation', { s3: {} });
|
||||||
this.s3 = this.value.spec.storageLocation.s3;
|
this.s3 = this.value.spec.storageLocation.s3;
|
||||||
}
|
}
|
||||||
if (neu === 'useBackup') {
|
if (neu === 'useBackup') {
|
||||||
|
delete this.value.spec.storageLocation;
|
||||||
|
|
||||||
if (this.allBackups.length === 1) {
|
if (this.allBackups.length === 1) {
|
||||||
this.updateTargetBackup(this.allBackups[0]);
|
this.updateTargetBackup(this.allBackups[0]);
|
||||||
}
|
}
|
||||||
|
|
@ -123,6 +125,12 @@ export default {
|
||||||
this.$set(this.value.spec, 'encryptionConfigSecretName', this.targetBackup.spec.encryptionConfigSecretName);
|
this.$set(this.value.spec, 'encryptionConfigSecretName', this.targetBackup.spec.encryptionConfigSecretName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
availableBackups(neu, old) {
|
||||||
|
if (neu.length && !old.length) {
|
||||||
|
this.storageSource = 'useBackup';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -131,7 +139,7 @@ export default {
|
||||||
if (get(neu, 'spec.storageLocation.s3')) {
|
if (get(neu, 'spec.storageLocation.s3')) {
|
||||||
Object.assign(this.value.spec.storageLocation.s3, neu.spec.storageLocation.s3);
|
Object.assign(this.value.spec.storageLocation.s3, neu.spec.storageLocation.s3);
|
||||||
}
|
}
|
||||||
this.$set(this.value, 'spec', { ...this.value.spec, backupFilename: neu.status.filename });
|
this.$set(this.value, 'spec', { ...this.value.spec, backupFilename: neu?.status?.filename });
|
||||||
|
|
||||||
if (neu.spec.encryptionConfigSecretName) {
|
if (neu.spec.encryptionConfigSecretName) {
|
||||||
this.$set(this.value, 'spec', { ...this.value.spec, encryptionConfigSecretName: neu.spec.encryptionConfigSecretName });
|
this.$set(this.value, 'spec', { ...this.value.spec, encryptionConfigSecretName: neu.spec.encryptionConfigSecretName });
|
||||||
|
|
@ -158,6 +166,7 @@ export default {
|
||||||
:label="t('backupRestoreOperator.s3.titles.backupLocation')"
|
:label="t('backupRestoreOperator.s3.titles.backupLocation')"
|
||||||
:options="radioOptions.options"
|
:options="radioOptions.options"
|
||||||
:labels="radioOptions.labels"
|
:labels="radioOptions.labels"
|
||||||
|
:mode="mode"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -167,9 +176,9 @@ export default {
|
||||||
<div v-else-if="storageSource==='useBackup'" class="row mb-10">
|
<div v-else-if="storageSource==='useBackup'" class="row mb-10">
|
||||||
<div class="col span-6">
|
<div class="col span-6">
|
||||||
<LabeledSelect
|
<LabeledSelect
|
||||||
:disabled="!allBackups.length"
|
:disabled="!availableBackups.length"
|
||||||
:value="targetBackup"
|
:value="targetBackup"
|
||||||
:options="allBackups"
|
:options="availableBackups"
|
||||||
:mode="mode"
|
:mode="mode"
|
||||||
option-label="metadata.name"
|
option-label="metadata.name"
|
||||||
:label="t('backupRestoreOperator.targetBackup')"
|
:label="t('backupRestoreOperator.targetBackup')"
|
||||||
|
|
@ -199,16 +208,14 @@ export default {
|
||||||
</div>
|
</div>
|
||||||
<div :style="{'align-items':'center'}" class="row">
|
<div :style="{'align-items':'center'}" class="row">
|
||||||
<div class="col span-6">
|
<div class="col span-6">
|
||||||
<Checkbox v-model="value.spec.prune" :label="t('backupRestoreOperator.prune.label')" :mode="mode">
|
<Checkbox v-model="value.spec.prune" class="mb-5" :label="t('backupRestoreOperator.prune.label')" :mode="mode">
|
||||||
<template #label>
|
<template #label>
|
||||||
<span v-tooltip="t('backupRestoreOperator.prune.tip')" class="text-label">
|
<span v-tooltip="t('backupRestoreOperator.prune.tip')" class="text-label">
|
||||||
{{ t('backupRestoreOperator.prune.label') }} <i class="icon icon-info" />
|
{{ t('backupRestoreOperator.prune.label') }} <i class="icon icon-info" />
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</Checkbox>
|
</Checkbox>
|
||||||
</div>
|
<UnitInput v-if="value.spec.prune" v-model="value.spec.deleteTimeoutSeconds" :suffix="t('suffix.seconds')" :mode="mode" :label="t('backupRestoreOperator.deleteTimeout.label')">
|
||||||
<div v-if="value.spec.prune" class="col span-6">
|
|
||||||
<UnitInput v-model="value.spec.deleteTimeoutSeconds" :suffix="t('suffix.seconds')" :mode="mode" :label="t('backupRestoreOperator.deleteTimeout.label')">
|
|
||||||
<template #label>
|
<template #label>
|
||||||
<label v-tooltip="t('backupRestoreOperator.deleteTimeout.tip')" class="has-tooltip">
|
<label v-tooltip="t('backupRestoreOperator.deleteTimeout.tip')" class="has-tooltip">
|
||||||
{{ t('backupRestoreOperator.deleteTimeout.label') }} <i class="icon icon-info" />
|
{{ t('backupRestoreOperator.deleteTimeout.label') }} <i class="icon icon-info" />
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
export default {
|
||||||
|
canUpdate() {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue