Skip to main content
Version: 0.1.0-rc.5
Classification

Local disaster-recovery reference architecture. k3d is not the production target, but this lane is the proving ground for the DR invariants that matter before you move to a cloud recovery pair.

Decision matrix

Lane summary

Lane summary.
SurfaceChoiceWhy it matters
Seal pathShared external Transit keyThe target can only unseal restored data because it shares the same external seal root of trust as the source.
Transfer boundaryRustFS S3-compatible bucketSnapshots move through a real object-storage boundary that both clusters can reach independently.
Edge modelDedicated passthrough endpoints for infra, source, and targetThe lane validates real ingress reachability without collapsing TLS termination into a single local shortcut.
Cutover modelManual restore and manual client or DNS cutoverThe lane proves restore correctness, not automatic failover orchestration.

Diagram

Validated lane topology

The source cluster writes snapshots to shared storage, the target cluster restores from that storage, and both sides depend on the same external Transit key to make restored data usable.

Why this lane exists

Reference table

Key design choices

Key design choices.
ChoiceWhat it protectsWhy it stays in the lane
Separate infra cluster for trust servicesThe shared Transit dependency stays independent from source and target failure domains.The lane should treat trust services as an external dependency, not as part of either OpenBao cluster.
Shared RustFS bucketThe restore uses the same object-transfer shape as a real remote-storage path.The lane is meant to prove the handoff through storage, not just a local disk copy.
Manual cutoverOperators verify the target before traffic moves.The lane proves correctness and operator workflow, not automated failover policy.

Stay on the validated path

  • keep the source and target on the same OpenBao version for the restore event
  • keep the source and target pointed at the same Transit address, CA bundle, SNI, and key name
  • keep shared object storage reachable from both clusters before you start a backup or restore
  • keep the target cluster created ahead of time with restore auth configured
  • perform cutover only after credential and data verification succeeds on the restored target
What this lane validated

The local DR lane proved source backup to RustFS, restore into a separate target cluster, target unseal with the shared Transit key, and post-restore checks that source credentials and source data replaced the target bootstrap state.

What this lane is not

This is not an automatic failover design, not a cloud DR reference, and not proof that any backup can restore into any target shape. It is a validated manual recovery lane with explicit preconditions.

Use the lane

Prerelease documentation

This version tracks a prerelease build. Features and behavior may change before the next stable release.

Was this page helpful?

Use Needs work to open a structured GitHub issue for this page. The Yes button only acknowledges the signal locally.