[CRE-1205] explicitly state what role each node has
This pull request refactors the DON (Decentralized Oracle Network) TOML configuration files and documentation to remove the legacy bootstrap_node_index and gateway_node_index fields, replacing them with an explicit roles attribute for each node specification. This change improves clarity, flexibility, and maintainability of node role assignments across various DON types and example configurations.
Configuration and Documentation Refactoring:
-
Removed
bootstrap_node_indexandgateway_node_indexfields from all DON TOML config examples, and updated documentation to reflect this change. Node roles are now assigned explicitly via the newrolesattribute in each node spec. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] -
Updated all example configs to use the new
rolesfield for node specification, assigning roles such as"bootstrap","gateway", and"plugin"as appropriate for each DON. This change is reflected across workflow, gateway, Solana, Tron, and capabilities DON examples. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]
Role Assignment and Node Specification Enhancements:
-
Each node's role is now explicitly defined in the
rolesarray in thenode_specssection, supporting multi-role nodes (e.g., both"bootstrap"and"gateway"), and clarifying per-node responsibilities. [1] [2] [3] [4] [5] [6] [7] [8] -
Updated example node specs to include detailed configuration overrides and Docker-related settings, especially for plugin nodes, improving reproducibility and clarity for development and testing. [1] [2]
Override Mode Adjustments:
- Changed
override_modefrom"all"to"each"in several configs to support per-node configuration, aligning with the new explicit role assignment mechanism. [1] [2]
Documentation Updates:
- Updated
README.mdto explain the new node role assignment approach and removed references to the deprecated index-based role assignment. [1] [2] [3]
These changes modernize the DON configuration approach, making node role assignments more explicit and maintainable.
I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:
#addedFor any new functionality added.#breaking_changeFor any functionality that requires manual action for the node to boot.#bugfixFor bug fixes.#changedFor any change to the existing functionality.#db_updateFor any feature that introduces updates to database schema.#deprecation_noticeFor any upcoming deprecation functionality.#internalFor changesets that need to be excluded from the final changelog.#nopsFor any feature that is NOP facing and needs to be in the official Release Notes for the release.#removedFor any functionality/config that is removed.#updatedFor any functionality that is updated.#wipFor any change that is not ready yet and external communication about it should be held off till it is feature complete.
Quality Gate passed
Issues
2 New issues
2 Fixed issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code