Skip to content

feat(deploy_tee): genesis-ceremony polls for cohort readiness#55

Merged
samlaf merged 1 commit into
mainfrom
genesis-ceremony-readiness
Jul 7, 2026
Merged

feat(deploy_tee): genesis-ceremony polls for cohort readiness#55
samlaf merged 1 commit into
mainfrom
genesis-ceremony-readiness

Conversation

@samlaf

@samlaf samlaf commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

The ceremony's two probes — each node's reth serving block 0 and summit's getPublicKeys — only answer after a node finishes its root_key → LUKS open → summit keygen boot tail, and both previously read once and aborted, so the operator had to hand-time the ceremony against the slowest node. Both probes now poll until every node answers (5s interval, 15 min ceiling, pending-list progress every 30s), making the ceremony itself the cohort barrier: it can run straight after configure in one sitting.

One deliberate asymmetry: an unreachable node is retried (that's the normal boot tail), but a node that answers with the wrong genesis hash fails immediately with the full per-node ✓/✗ listing — waiting can't fix a node booted from a stale image or different genesis.

README, from the first 4-node founding: show cohort configure (--genesis/--join) as the founding path, document the ceremony's readiness wait, note tdx-init's one-shot listener ("listener never came up" on an already-configured node means reboot it first), and record the stack-per-node provisioning rationale.

The ceremony's two probes — each node's reth serving block 0 and
summit's getPublicKeys — only answer after a node finishes its
root_key → LUKS open → summit keygen boot tail, and both previously
read once and aborted, so the operator had to hand-time the ceremony
against the slowest node. Both probes now poll until every node
answers (5s interval, 15 min ceiling, pending-list progress every
30s), making the ceremony itself the cohort barrier: it can run
straight after `configure` in one sitting.

One deliberate asymmetry: an unreachable node is retried (that's the
normal boot tail), but a node that *answers* with the wrong genesis
hash fails immediately with the full per-node ✓/✗ listing — waiting
can't fix a node booted from a stale image or different genesis.

README, from the first 4-node founding: show cohort configure
(--genesis/--join) as the founding path, document the ceremony's
readiness wait, note tdx-init's one-shot listener ("listener never
came up" on an already-configured node means reboot it first), and
record the stack-per-node provisioning rationale.
@samlaf samlaf merged commit 0cc20e5 into main Jul 7, 2026
1 check passed
@samlaf samlaf deleted the genesis-ceremony-readiness branch July 7, 2026 05:22
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