Unify operator and node startup configuration - #8309
Draft
Amaury Chamayou (achamayou) with Copilot wants to merge 4 commits into
Draft
Unify operator and node startup configuration#8309Amaury Chamayou (achamayou) with Copilot wants to merge 4 commits into
Amaury Chamayou (achamayou) with Copilot wants to merge 4 commits into
Conversation
Co-authored-by: achamayou <4016369+achamayou@users.noreply.github.com>
Co-authored-by: achamayou <4016369+achamayou@users.noreply.github.com>
Co-authored-by: achamayou <4016369+achamayou@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Remove distinct in-memory config type
Unify operator and node startup configuration
Sep 8, 2026
Copilot started reviewing on behalf of
Amaury Chamayou (achamayou)
September 9, 2026 07:26
View session
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
It changes startup, recovery, attestation, and join trust-anchor handling across core host and node boundaries.
Pull request overview
Unifies operator and node startup configuration under the public ccf::CCFConfig API.
Changes:
- Removes duplicate host/startup configuration types and migrates consumers.
- Moves file-backed input loading into node startup paths.
- Preserves genesis serialization and adds configuration/data retention tests.
Custom instructions used
.github/copilot-instructions.md.github/instructions/changelog.instructions.md.github/instructions/reviewing.instructions.md
File summaries
| File | Description |
|---|---|
CHANGELOG.md |
Documents the public API migration. |
CMakeLists.txt |
Moves environment utilities into the CCF implementation. |
include/ccf/node/configuration.h |
Defines the unified configuration type. |
include/ccf/node/node_configuration_interface.h |
Exposes resolved node data separately. |
include/ccf/node/start_type.h |
Adds the public startup-mode enum. |
python/pyproject.toml |
Updates the package version. |
samples/apps/logging/logging.cpp |
Migrates node-data access. |
src/common/configuration.h |
Updates JSON serialization declarations. |
src/common/enclave_interface_types.h |
Uses the public startup-mode definition. |
src/enclave/enclave.h |
Accepts unified configuration. |
src/enclave/entry_points.h |
Updates enclave entry-point signature. |
src/enclave/main.cpp |
Passes unified startup settings. |
src/host/configuration.h |
Removes the redundant host configuration. |
src/host/run.cpp |
Removes host-side conversion and input loading. |
src/kv/kv_types.h |
Updates configuration include. |
src/node/node_configuration_subsystem.h |
Publishes configuration and resolved node data. |
src/node/node_state.h |
Loads and retains startup inputs in node state. |
src/node/recovery_decision_protocol.h |
Updates configuration include. |
src/node/recovery_snapshot_ledger.h |
Updates configuration include. |
src/node/rpc/network_identity_subsystem.h |
Updates configuration include. |
src/node/rpc/node_call_types.h |
Preserves the genesis wire model. |
src/node/rpc/node_frontend.h |
Reads resolved node data. |
src/node/rpc/node_interface.h |
Exposes unified configuration and node data. |
src/node/rpc/test/frontend_test.cpp |
Updates the test configuration fixture. |
src/node/rpc/test/node_frontend_test.cpp |
Tests configuration and genesis serialization. |
tests/governance.py |
Tests file-backed startup data retention. |
Review details
- Files reviewed: 26/26 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Startup converted the operator configuration into a near-identical in-memory type, preserving an obsolete host/enclave split and eagerly loading file inputs.
Single configuration type
host::HostConfigandccf::StartupConfigwith publicccf::CCFConfig; remove the host-side conversion.Node-owned input loading
Public API migration
ccf/node/configuration.h, with command settings undercommand.start,command.join, andcommand.recover.NodeConfigurationState; update consumers and migration notes.Closes #7565.