Skip to content

Commit 5f074fa

Browse files
committed
docs: update roadmap with actual branch names in key_auto_rotation.md
1 parent f8a81f7 commit 5f074fa

1 file changed

Lines changed: 21 additions & 12 deletions

File tree

documentation/docs/kmip_support/key_auto_rotation.md

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -464,17 +464,22 @@ This feature is delivered as a cascade of five stacked pull requests, each
464464
building on the previous one:
465465

466466
```text
467-
develop ← PR 1 ← PR 2 ← PR 3 ← PR 4 ← PR 5
467+
develop
468+
← PR 1 docs/key-autorotation-spec
469+
← PR 2 feat/key-rotation-manual
470+
← PR 3 feat/key-rotation-scheduler
471+
← PR 4 feat/key-rotation-notifications
472+
← PR 5 feat/key-rotation-ui
468473
```
469474

470-
### PR 1 — Specification (this document)
475+
### PR 1 — Specification (`docs/key-autorotation-spec``develop`)
471476

472477
Publish the complete key auto-rotation specification so reviewers and
473478
subsequent PRs have a stable reference. Standardise terminology: **Key
474479
Rotation** for symmetric/asymmetric re-keying, **Certificate Renewal** for
475480
certificate operations.
476481

477-
### PR 2 — Manual rotation for all key types + test vectors
482+
### PR 2 — Manual rotation for all key types + test vectors (`feat/key-rotation-manual``docs/key-autorotation-spec`)
478483

479484
Implement `Re-Key` and `Re-Key Key Pair` for all six scenarios described
480485
in this document:
@@ -488,7 +493,7 @@ in this document:
488493

489494
All test vectors green at merge time. No auto-rotation scheduler in this PR.
490495

491-
### PR 3 — Auto-rotation scheduler + deadline detection
496+
### PR 3 — Auto-rotation scheduler + deadline detection (`feat/key-rotation-scheduler``feat/key-rotation-manual`)
492497

493498
Background cron that finds due keys and rotates them automatically:
494499

@@ -500,17 +505,21 @@ Background cron that finds due keys and rotates them automatically:
500505
rotation) emitting events via a `Notifier` trait (no-op stub until PR 4)
501506
- OTel counter `kms.key.auto_rotation` on every successful rotation
502507

503-
### PR 4 — Notification system (webhooks)
508+
### PR 4 — Notification system (`feat/key-rotation-notifications``feat/key-rotation-scheduler`)
504509

505-
First concrete `Notifier` implementation — POST JSON to configured URLs:
510+
`NotificationsStore` trait + SMTP email notifier for key renewal warnings and
511+
rotation events:
506512

507-
- **Events**: `rotation_success`, `rotation_failure`, `approaching_deadline`
508-
- Exponential-backoff retry; failures logged but never block rotation
509-
- Configuration designed as an extensible enum for future sinks (email,
510-
Slack, cloud pub/sub)
511-
- Wizard step for notification endpoint setup
513+
- **Events stored**: `rotation_success`, `rotation_failure`, `approaching_deadline`
514+
- `dispatch_renewal_warnings()` background scanner with threshold-based dedup
515+
(`rotate_last_warning_days` attribute prevents duplicate alerts)
516+
- SMTP email delivery via `lettre`; failures logged but never block rotation
517+
- HTTP API: `GET /notifications`, `GET /notifications/unread/count`,
518+
`POST /notifications/{id}/read`, `POST /notifications/read-all`
519+
- `SmtpConfig` + `RenewalNotificationStrategy` configuration
520+
- `NoopNotificationsStore` for the Redis-findex backend
512521

513-
### PR 5 — UI and CLI features
522+
### PR 5 — UI and CLI features (`feat/key-rotation-ui``feat/key-rotation-notifications`)
514523

515524
Mirror rotation features in the Web UI and `ckms` CLI:
516525

0 commit comments

Comments
 (0)