Sync DNS2 production changes - removed obsolete test suite and refactored structure

This commit is contained in:
Krystie
2026-03-23 10:47:15 +01:00
parent 1ac50918ab
commit d76644d948
288 changed files with 8965 additions and 15731 deletions

View File

@@ -165,7 +165,7 @@ class BackupManager extends EventEmitter {
locations: savedLocations,
encrypted: !!backup.encrypt,
compressed: true,
status: 'success',
status: 'success'
};
this.addToHistory(historyEntry);
@@ -187,7 +187,7 @@ class BackupManager extends EventEmitter {
timestamp: new Date().toISOString(),
duration,
status: 'failed',
error: error.message,
error: error.message
};
this.addToHistory(historyEntry);
@@ -205,7 +205,7 @@ class BackupManager extends EventEmitter {
version: '1.0',
timestamp: new Date().toISOString(),
hostname: require('os').hostname(),
data: {},
data: {}
};
for (const source of include) {
@@ -332,10 +332,10 @@ class BackupManager extends EventEmitter {
HostConfig: {
Binds: [
`${volumeName}:/volume:ro`,
`${backupDir}:/backup`,
`${backupDir}:/backup`
],
AutoRemove: true,
},
AutoRemove: true
}
});
// Start and wait for completion
@@ -354,7 +354,7 @@ class BackupManager extends EventEmitter {
path: backupFile,
size: stats.size,
timestamp: new Date().toISOString(),
status: 'success',
status: 'success'
});
}
} catch (volumeError) {
@@ -362,7 +362,7 @@ class BackupManager extends EventEmitter {
backupResults.push({
name: volume.Name,
status: 'failed',
error: volumeError.message,
error: volumeError.message
});
}
}
@@ -371,7 +371,7 @@ class BackupManager extends EventEmitter {
timestamp: new Date().toISOString(),
totalVolumes: volumes.length,
successCount: backupResults.filter(r => r.status === 'success').length,
volumes: backupResults,
volumes: backupResults
};
} catch (error) {
console.error('[BackupManager] Error backing up volumes:', error.message);
@@ -425,10 +425,10 @@ class BackupManager extends EventEmitter {
HostConfig: {
Binds: [
`${volumeName}:/volume`,
`${backupDir}:/backup:ro`,
`${backupDir}:/backup:ro`
],
AutoRemove: true,
},
AutoRemove: true
}
});
await container.start();
@@ -442,7 +442,7 @@ class BackupManager extends EventEmitter {
restoreResults.push({
name: volumeName,
status: 'success',
timestamp: new Date().toISOString(),
timestamp: new Date().toISOString()
});
console.log(`[BackupManager] Volume ${volumeName} restored successfully`);
@@ -451,7 +451,7 @@ class BackupManager extends EventEmitter {
restoreResults.push({
name: volBackup.name,
status: 'failed',
error: restoreError.message,
error: restoreError.message
});
}
}
@@ -460,7 +460,7 @@ class BackupManager extends EventEmitter {
timestamp: new Date().toISOString(),
results: restoreResults,
successCount: restoreResults.filter(r => r.status === 'success').length,
failedCount: restoreResults.filter(r => r.status === 'failed').length,
failedCount: restoreResults.filter(r => r.status === 'failed').length
};
}
@@ -498,7 +498,7 @@ class BackupManager extends EventEmitter {
// Return: iv:authTag:encrypted (all base64)
return Buffer.from(
`${iv.toString('base64') }:${ authTag.toString('base64') }:${ encrypted.toString('base64')}`,
iv.toString('base64') + ':' + authTag.toString('base64') + ':' + encrypted.toString('base64')
);
}
@@ -566,7 +566,7 @@ class BackupManager extends EventEmitter {
return {
type: 'local',
path: filepath,
size: data.length,
size: data.length
};
}
@@ -652,7 +652,7 @@ class BackupManager extends EventEmitter {
this.emit('restore-complete', {
backupId,
restored,
timestamp: new Date().toISOString(),
timestamp: new Date().toISOString()
});
console.log('[BackupManager] Restore completed successfully');
@@ -661,7 +661,7 @@ class BackupManager extends EventEmitter {
this.emit('restore-failed', {
backupId,
error: error.message,
timestamp: new Date().toISOString(),
timestamp: new Date().toISOString()
});
throw error;
}
@@ -790,7 +790,7 @@ class BackupManager extends EventEmitter {
return {
backups: {},
defaultRetention: { keep: 7 },
defaultRetention: { keep: 7 }
};
}