Publish curated Knowledge Hub source from 2ed833f290b439a7bc91e5fd19b042c269e3bee9

This commit is contained in:
Public Source Publisher committed 2026-10-03 17:07:21 +00:00
1 parent 10f2edcd29
commit 59f15b2d08
218 files changed
+23995 -1849

No files matched your search

@@ -65,20 +65,46 @@ af.
### Stap 2 — herstellen
Maak eerst een **beschrijfbare herstelkopie** van de gekozen back-up; herstel neemt een
exclusieve opslaglease en schrijft achteraf een herstelbewijs naast het manifest. Geef
de CLI de doelconnectie via een door de operator beheerd geheimenbestand, niet via een
argument met het wachtwoord erin. Op Unix moet dat bestand alleen voor de restoregebruiker
leesbaar zijn (`chmod 600` of `chmod 400`); op Windows beperk je de ACL tot de restore-
operator/serviceaccount. Het bestand bevat één PostgreSQL-connectiereeks. De
integriteitssleutel moet eveneens beschikbaar zijn in de geconfigureerde Keys-map.
Haal de exacte `backup-integrity.key` uit beschermde externe escrow; herstel vertrouwt
geen sleutel die alleen in de back-upkopie zit. De restore verifieert de manifest-
handtekening en kopieert de vermelde bestanden eerst naar een privé-stagingmap binnen
het lege doelbijlagenvolume. Reserveer daar vrije ruimte voor ten minste de volledige
back-upinhoud. De restore gebruikt uitsluitend die geverifieerde snapshot.
```bash
docker run --rm \
--network itworx-knowledge-hub_knowledge-hub-internal \
-v knowledge-hub-backups:/var/lib/knowledge-hub/backups:ro \
-v <beschrijfbare-herstelkopie>:/var/lib/knowledge-hub/backups:rw \
-e KnowledgeHub__Paths__Backups=/var/lib/knowledge-hub/backups \
-v <map-met-backup-integriteitssleutel>:/var/lib/knowledge-hub/keys:ro \
-e KnowledgeHub__Paths__Keys=/var/lib/knowledge-hub/keys \
-v <beveiligd-doelconnectiebestand>:/run/secrets/restore-target-connection:ro \
-v <doel-bijlagen-volume>:/var/lib/knowledge-hub/attachments \
itworx/knowledge-hub:local \
dotnet ItWorx.KnowledgeHub.Api.dll \
--restore \
--backup-id=<back-up-id> \
--target-connection="Host=<doel-db-host>;Port=5432;Database=<doel-db>;Username=<gebruiker>;Password=<wachtwoord>" \
--target-connection-file=/run/secrets/restore-target-connection \
--target-attachments=/var/lib/knowledge-hub/attachments
```
De echte herstel-drill haalt de back-up via SSH op, maar leest de integriteitssleutel
uit een lokaal door de operator beheerd escrowbestand. Geef alleen het bestandspad mee;
de drill maakt tijdens uitvoering een tijdelijke kopie met modus `0600` en verwijdert
die bij opruimen:
```bash
KNOWLEDGE_HUB_BACKUP_INTEGRITY_KEY_FILE=/secure/escrow/backup-integrity.key \
bash scripts/v2-r4-real-backup-restore-drill.sh <back-up-id>
```
De doeldatabase moet **leeg** zijn — herstel weigert expliciet als er al rijen in
staan, om nooit per ongeluk bestaande gegevens te vermengen met herstelde gegevens.
@@ -86,7 +112,8 @@ Het proces rapporteert per tabel het aantal herstelde versus verwachte rijen, he
aantal herstelde bijlagen, en sluit af met `GESLAAGD` of `MISLUKT`
(afsluitcode 0 respectievelijk 1). Een `MISLUKT`-resultaat laat expliciet zien welke
tabel niet overeenkomt — er wordt nooit stilzwijgend een onvolledig herstel als
geslaagd gerapporteerd.
geslaagd gerapporteerd. Providerfoutdetails worden niet afgedrukt omdat die
connectiegegevens kunnen bevatten.
## Opstartgedrag en migraties