#033 Erneut rotieren nach abgebrochener Rotation #33

Closed
opened 2026-10-12 18:11:49 +00:00 by florian.wilde · 0 comments
Owner

Ziel

Nach einer abgebrochenen Rotation (#032) lässt sich derselbe Schlüssel erneut rotieren, statt dass ein neuer Schlüssel angelegt, zugewiesen und der alte widerrufen werden muss.

Aufgaben

  • vorgaengerId nicht mehr eindeutig; stattdessen partieller Index: je Vorgänger höchstens ein Nachfolger, der weder widerrufen ist noch gerade widerrufen wird
  • Relation 1:n (nachfolgerListe); maßgeblich ist der jüngste Nachfolger (JUENGSTER, mitNachfolger)
  • Neue Rotation erst, wenn der Abbruch abgeschlossen ist (Nachfolger WIDERRUFEN)
  • Schlüsselseite: „Rotieren“ wieder anbieten, Hinweistext angepasst

Akzeptanzkriterien

  • DB-Test: Abbruch → während des Abbruchs keine neue Rotation → danach zweiter Nachfolger, Kette zeigt ihn
  • DB-Test: die Datenbank lehnt einen zweiten offenen Nachfolger ab
  • E2E: nach dem Abbruch führt „Rotieren“ wieder zu Schritt 1

Abhängigkeiten

#023, #032

Notizen / Entscheidungen

  • Abgebrochene Nachfolger bleiben mit vorgaengerId in der Historie; die Rotationskette folgt dem jüngsten Nachfolger.
  • Kein neuer Rotations-Zustand: Ist der jüngste Nachfolger vollständig widerrufen und der alte nicht ROTIERT, steht die Rotation wieder bei Schritt 0.
  • Prisma kennt partielle Indizes nicht; migrate diff bleibt trotzdem leer, weil der Index nur in der Migration steht (wie beim Instanz-Standard).

Quelle: docs/issues/033-erneut-rotieren.md – dort wird dieses Issue gepflegt.

## Ziel Nach einer abgebrochenen Rotation (#032) lässt sich derselbe Schlüssel erneut rotieren, statt dass ein neuer Schlüssel angelegt, zugewiesen und der alte widerrufen werden muss. ## Aufgaben - [x] `vorgaengerId` nicht mehr eindeutig; stattdessen partieller Index: je Vorgänger höchstens ein Nachfolger, der weder widerrufen ist noch gerade widerrufen wird - [x] Relation 1:n (`nachfolgerListe`); maßgeblich ist der jüngste Nachfolger (`JUENGSTER`, `mitNachfolger`) - [x] Neue Rotation erst, wenn der Abbruch abgeschlossen ist (Nachfolger WIDERRUFEN) - [x] Schlüsselseite: „Rotieren“ wieder anbieten, Hinweistext angepasst ## Akzeptanzkriterien - [x] DB-Test: Abbruch → während des Abbruchs keine neue Rotation → danach zweiter Nachfolger, Kette zeigt ihn - [x] DB-Test: die Datenbank lehnt einen zweiten offenen Nachfolger ab - [x] E2E: nach dem Abbruch führt „Rotieren“ wieder zu Schritt 1 ## Abhängigkeiten #023, #032 ## Notizen / Entscheidungen - **Abgebrochene Nachfolger bleiben** mit `vorgaengerId` in der Historie; die Rotationskette folgt dem jüngsten Nachfolger. - **Kein neuer Rotations-Zustand:** Ist der jüngste Nachfolger vollständig widerrufen und der alte nicht ROTIERT, steht die Rotation wieder bei Schritt 0. - Prisma kennt partielle Indizes nicht; `migrate diff` bleibt trotzdem leer, weil der Index nur in der Migration steht (wie beim Instanz-Standard). --- Quelle: `docs/issues/033-erneut-rotieren.md` – dort wird dieses Issue gepflegt.
florian.wilde added this to the v1.0.0 milestone 2026-10-12 18:11:49 +00:00
florian.wilde added the datenbankbackend labels 2026-10-12 18:11:49 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/sshkeyvault#33