backups: split config and policy

keeping them together makes the test/validation quite complicated.
for example, when policy is changed, we test the storage backends

part of #817
This commit is contained in:
Girish Ramakrishnan
2023-07-12 10:01:53 +05:30
parent 7926ff2811
commit 9cebde3005
15 changed files with 299 additions and 198 deletions
+4 -4
View File
@@ -161,7 +161,7 @@ async function startJobs() {
const allSettings = await settings.list();
const tz = allSettings[settings.TIME_ZONE_KEY];
backupConfigChanged(allSettings[settings.BACKUP_CONFIG_KEY], tz);
backupPolicyChanged(allSettings[settings.BACKUP_POLICY_KEY], tz);
autoupdatePatternChanged(allSettings[settings.AUTOUPDATE_PATTERN_KEY], tz);
dynamicDnsChanged(allSettings[settings.DYNAMIC_DNS_KEY]);
}
@@ -185,16 +185,16 @@ async function handleSettingsChanged(key, value) {
}
}
function backupConfigChanged(value, tz) {
function backupPolicyChanged(value, tz) {
assert.strictEqual(typeof value, 'object');
assert.strictEqual(typeof tz, 'string');
debug(`backupConfigChanged: schedule ${value.schedulePattern} (${tz})`);
debug(`backupPolicyChanged: schedule ${value.schedule} (${tz})`);
if (gJobs.backup) gJobs.backup.stop();
gJobs.backup = new CronJob({
cronTime: value.schedulePattern,
cronTime: value.schedule,
onTick: async () => await safe(backups.startBackupTask(AuditSource.CRON), { debug }),
start: true,
timeZone: tz