docs/local-cre/environment/topologies.md
Topologies control the DON layout, chains, infra type, and capability placement for Local CRE.
The CLI shell defaults CTF_CONFIGS to configs/workflow-gateway-don.toml. During environment startup, Local CRE also ensures the default capabilities configuration is prepended.
For smoke tests, the default local flow uses configs/workflow-gateway-capabilities-don.toml unless you override it.
Use the topology commands:
go run . topology list
go run . topology show --config configs/workflow-gateway-capabilities-don.toml
go run . topology generate
Implementation-backed defaults:
topology show --config defaults to configs/workflow-gateway-don.tomltopology show --output-dir defaults to statetopology generate --output-dir defaults to docs/topologiestopology generate --index-path defaults to docs/TOPOLOGIES.mdGenerated topology docs already live in the environment package:
core/scripts/cre/environment/docs/TOPOLOGIES.mdcore/scripts/cre/environment/docs/topologies/*.mdUse them for:
In particular, the generated matrix for workflow-gateway-capabilities-don.toml is the most useful reference for the default local smoke-test topology.
For multi-gateway DON routing smoke tests, use configs/workflow-gateway-capabilities-multi-gateway-don.toml. It adds a second gateway nodeset (gateway-eu) with a distinct gateway_don_id alongside the US bootstrap gateway (bootstrap-gateway-us / gateway_don_us). The workflow DON is preconfigured with:
[CRE.Linking] pointed at the local test linking serviceCL_CRE_SETTINGS org override multi-don-test-org → PerWorkflow.HTTPAction.GatewayProxyDonID = gateway_don_euPropagateOrgIDInRequestMetadata = trueRun the dedicated smoke test with Test_CRE_V2_HTTP_Action_Multi_Gateway after starting the environment with this topology.
Use a multi-DON topology when the workflow stack needs responsibilities split across separate DONs instead of running everything in one place.
In practice, the common DON roles are:
workflow for workflow executioncapabilities for capabilities exposed to other DONsbootstrap for DON bootstrappinggateway for connector and gateway trafficWhen you inspect or change a multi-DON topology, verify these questions:
Keep these mental rules:
Enabling a capability is not one step. All of the following need to line up:
As a rule of thumb:
After changing capability placement, re-run:
go run . topology show --config <your-topology>.toml
go run . topology generate
Then check the generated capability matrix before starting the environment.
When introducing a new topology:
configs/go run . topology generatego run . topology show --config <file> to sanity-check the result