Merge branch 'phase/029-handbuch'
# Conflicts: # src/worker/index.ts
This commit is contained in:
@@ -219,3 +219,21 @@ export async function deploymentKeySicherstellen(): Promise<string> {
|
||||
});
|
||||
return neu.id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Passt der Master-Key zur Datenbank? (#029) Oeffnet probeweise den Deployment-Key. Schlaegt
|
||||
* das fehl, ist entweder die falsche Master-Key-Datei eingebunden oder eine Sicherung ohne den
|
||||
* dazugehoerigen Master-Key zurueckgespielt worden – beides soll beim Start auffallen, nicht
|
||||
* erst beim ersten Ausrollen.
|
||||
*/
|
||||
export async function masterKeyPruefen(deploymentKeyId: string): Promise<void> {
|
||||
try {
|
||||
const klartext = await privateKeyLaden(deploymentKeyId);
|
||||
klartext.fill(0);
|
||||
} catch {
|
||||
throw new Error(
|
||||
"Der Master-Key passt nicht zur Datenbank: Der Deployment-Key lässt sich nicht entschlüsseln. " +
|
||||
"Ist SSHKV_MASTER_KEY_FILE die Datei, die zu dieser Datenbank gehört (Sicherung)?",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@ import {
|
||||
import { vorgangAusfuehren } from "@/worker/ausfuehren";
|
||||
import { abholungenAufraeumen } from "@/worker/ablaeufe/privatekey";
|
||||
import { taktVersenden, zusammenfassungVersenden } from "@/worker/benachrichtigung/versand";
|
||||
import { deploymentKeySicherstellen } from "@/worker/geheimnisse";
|
||||
import { deploymentKeySicherstellen, masterKeyPruefen } from "@/worker/geheimnisse";
|
||||
import { HANDLER } from "@/worker/handler";
|
||||
|
||||
/**
|
||||
@@ -23,7 +23,7 @@ import { HANDLER } from "@/worker/handler";
|
||||
async function starten(): Promise<void> {
|
||||
// Zuerst: ohne lesbaren Master-Key und Deployment-Key kann der Worker nichts tun, und das
|
||||
// soll beim Start auffallen, nicht beim ersten Vorgang.
|
||||
await deploymentKeySicherstellen();
|
||||
await masterKeyPruefen(await deploymentKeySicherstellen());
|
||||
const boss = await warteschlangeHolen();
|
||||
|
||||
await boss.work<VorgangsJob>(
|
||||
|
||||
Reference in New Issue
Block a user