Skip to content

Prepare new control flow around zone signing#499

Open
bal-e wants to merge 5 commits intomainfrom
signer-flow
Open

Prepare new control flow around zone signing#499
bal-e wants to merge 5 commits intomainfrom
signer-flow

Conversation

@bal-e
Copy link
Contributor

@bal-e bal-e commented Mar 3, 2026

This PR introduces src/signer, a module into which the zone signer module should eventually be refactored. It introduces the signer::zone model, which works very similarly to loader::zone; signing and re-signing operations can be enqueued and started when possible.

Signing operations need to be enqueued because the backing zone storage might be busy. I have built the enqueuing logic to account for limiting simultaneous signing operations, but that code was hard to extract from zone_signer.rs. I'll get to it later.

At the moment, none of the new functions are used anywhere. They need to wait until the actual signing code is adapted to use the SignedZoneBuilder, otherwise they risk deadlocking the zone storage state machine. The PR performing the actual integration will deal with that.

@bal-e bal-e requested review from tertsdiepraam and ximon18 March 3, 2026 18:23
@bal-e bal-e self-assigned this Mar 3, 2026
@bal-e
Copy link
Contributor Author

bal-e commented Mar 3, 2026

Hang on, force-pushing to resolve conflicts cleanly.

bal-e added 5 commits March 3, 2026 21:40
Over time, 'units/zone_signer.rs' will be split up into the 'signer'
directory. The first step is to add 'SignerState' for signing-related
per-zone state, and 'SignerZoneHandle' for signer-related operations.
These fields are part of refactoring how sign operations are stored
and enqueued. They also track the necessary 'SignedZoneBuilder's for
integrating with the new zone storage.
This is analogous to 'loader::refresh()'; it will serve as the top-level
signing function. Over time, the implementation in 'zone_signer.rs' will
be moved here and refactored.
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.

1 participant