Track online backup source IP and add detailed recovery output
CI / verify (push) Waiting to run

This commit is contained in:
Sucukdeluxe
2026-09-22 05:02:21 +02:00
parent 560966fa2a
commit 43b77401c6
15 changed files with 147 additions and 26 deletions
+7 -4
View File
@@ -29,7 +29,8 @@ function sanitizeEntry(entry) {
id: entry.id,
displayKey: entry.displayKey,
createdAt: entry.createdAt,
expiresAt: entry.expiresAt ?? null
expiresAt: entry.expiresAt ?? null,
...(entry.sourceIp ? { sourceIp: entry.sourceIp } : {})
};
}
@@ -38,7 +39,8 @@ function sanitizeCreatedEntry(entry, key) {
id: entry.id,
displayKey: `${key.slice(0, 9)}${key.slice(-4)}`,
createdAt: entry.createdAt,
expiresAt: entry.expiresAt ?? null
expiresAt: entry.expiresAt ?? null,
...(entry.sourceIp ? { sourceIp: entry.sourceIp } : {})
};
}
@@ -80,8 +82,9 @@ function createOnlineBackupManager({
const settings = await loadSettings();
const recoveryPublicKey = await loadRecoveryPublicKey();
const created = createBackup(settings, appVersion(), createdAt, retention, recoveryPublicKey);
const prepared = keyring.prepare(created.key, createdAt, created.expiresAt ?? null);
await uploadBackup(created.record);
let prepared = keyring.prepare(created.key, createdAt, created.expiresAt ?? null);
const metadata = await uploadBackup(created.record);
if (metadata?.sourceIp) prepared = Object.freeze({ ...prepared, sourceIp: metadata.sourceIp });
try {
await keyring.commit(prepared);
} catch (error) {