Dx 5057 further expand cre reconciller - #23440
Open
Tofel wants to merge 16 commits into
Open
Conversation
Contributor
|
✅ No conflicts with other open PRs targeting |
Contributor
|
I see you updated files related to
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
Reworks the CRE reconciler from a single-shot apply into a phase-aware, resumable, mostly-safe-to-rerun tool, and brings the UI up to parity with the CLI.
applydoes zero on-chain/JD writes; contract deployment is guarded by actual-state (both CapReg + WorkflowRegistry present); a Docker-layer-cache-style cascade means any upstream phase actually running forces every phase after it to run too. No--forceflag — the repair path is deleting aphase_hashesentry by hand.p2p_id,environment,type) on every run, validates every chain-capability has a matching chain config per member node, and stops reading OCR2 bundles from bootstrap/gateway nodes.[[EVM]]— chains must pre-exist in desired state;[[chains]]unified with a requiredfamilyfield; adds realaptos/solanaend-to-end support (UI catalog, defaults, and a matching CRE blockchain provider at apply time, fixing an aptos error / solana nil-pointer panic).errgroupfor node-spec building and per-node job enrichment;runPreEnvStartup/runPostEnvStartupdeliberately left sequential (shared per-DON state).[[gateway_nodes]]per-gateway assignment list with an explicitfamilyfield on every DON (mirrors real CRE'snodesets.don_family) — makes invalid gateway/DON overlap structurally impossible; blocks save when a gateway's family has no served DON; adds a JD settings tab, a per-DON allowlist editor, a smarter default DON selection, and removesinfra.chart_values/infra.namespacein favor of a--chart-dirflag.--deployer-key; resolves signing keys fromPRIVATE_KEY_<CHAIN_ID>→PRIVATE_KEY→ Anvil default only.POST /api/applystreams NDJSON log events from the sameReconciler.Runthe CLI uses, pauses at the TOML breakpoint via an in-process wait/confirm handoff (no more exit-42), localhost-only. NewGET /api/diffsurfaces contract/DON/workflow-registry/node-config state plus the stored per-phase hash cache.ListNodescall; a coarseonChainComplete()gate inRun()was skippingApplyentirely once contracts/DON IDs looked "done," bypassing the per-phase hash checks and silently no-op'ing capability changes — removed,Applyis always called now. UI also always saves before apply.Known gaps (tracked in TODO.md, not fixed in this branch)
onChainComplete()removal wasn't fully sufficient).vaultcapability panics on apply (missing DKG key discovery step — root-caused, plan in TODO.md, not implemented).boot→bootstraprename, and CLD audit artifacts are deferred.