Skip to content

Conversation

@andrewjstone
Copy link
Contributor

Builds on #9296

This commit persists state to a ledger, following the pattern used in the bootstore. It's done this way because the PersistentState itself is contained in the sans-io layer, but we must save it in the async task layer. The sans-io layer shouldn't know how the state is persisted, just that it is, and so we recreate the ledger for every time we write it.

A follow up will PR will deal with the early networking information saved by the bootstore, and will be very similar.

Base automatically changed from tq-sprockets-2 to main November 3, 2025 18:43
Builds on #9296

This commit persists state to a ledger, following the pattern used in
the bootstore. It's done this way because the `PersistentState` itself
is contained in the sans-io layer, but we must save it in the async task
layer. The sans-io layer shouldn't know how the state is persisted, just
that it  is, and so we recreate the ledger for every time we write it.

A follow up will PR will deal with the early networking information saved
by the bootstore, and will be very similar.
@andrewjstone andrewjstone enabled auto-merge (squash) November 3, 2025 19:13
@andrewjstone andrewjstone merged commit 7a7d7ca into main Nov 4, 2025
17 checks passed
@andrewjstone andrewjstone deleted the tq-sprockets-3 branch November 4, 2025 02:06
andrewjstone added a commit that referenced this pull request Nov 4, 2025
This builds on #9310

This code essentially re-implements the bootstore implementation of
early network config replication over sprockets channels.

The persistence code of this state still lives in the bootstore, but
will eventually move to the `trust-quorum` crate once all customer
systems are running only trust quorum.

This code does not deal with how the switchover from bootstore to to
trust-quorum is made. That will come later with trust-quorum /
sled-agent integration.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants