rsync: add integrity information
This commit is contained in:
@@ -257,15 +257,15 @@ async function upload(backupTarget, remotePath, dataLayout, progressCallback) {
|
||||
const { stats, integrity } = await tarPack(dataLayout, backupTarget.encryption, uploader, progressCallback);
|
||||
|
||||
const integrityMap = new Map();
|
||||
integrityMap.set(path.basename(remotePath), ...integrity);
|
||||
integrityMap.set(path.basename(remotePath), integrity);
|
||||
const integrityDataJsonString = JSON.stringify([...integrityMap], null, 4);
|
||||
const integrityDataStream = Readable.from(integrityDataJsonString);
|
||||
const integrityUploader = await backupTargets.storageApi(backupTarget).upload(backupTarget.config, `${remotePath}.checksum`);
|
||||
await stream.pipeline(integrityDataStream, integrityUploader.stream);
|
||||
await integrityUploader.finish();
|
||||
|
||||
integrity.signature = await crypto.sign(null /* algorithm */, integrityDataJsonString, backupTarget.integrityKeyPair.privateKey);
|
||||
return { stats, integrity };
|
||||
const signature = await crypto.sign(null /* algorithm */, integrityDataJsonString, backupTarget.integrityKeyPair.privateKey);
|
||||
return { stats, integrity: { signature } };
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user