feat(config): add ClusterNode.AkkaPort/GrpcPort — central's dial targets
Per-cluster mesh Phase 1 groundwork. Once the meshes split (Phase 2) central can no longer see a site node's appsettings, so the transport ports it must dial have to live in a row central can read. AkkaPort is non-nullable with a 4053 default — every node listens on a remoting port, so 0 is never a truthful value and pre-existing rows must migrate to something real. GrpcPort is nullable with no default: nothing listens on it until Phase 5, and a non-null default would assert a port that does not exist. Both are documented as central's dial targets rather than the node's own binding config; the duplication against Cluster:Port is reconciled in Task 4. The new SchemaCompliance test is red until the migration lands (Task 2). Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"plan": "docs/plans/2026-07-21-per-cluster-mesh-phase1.md",
|
||||
"branch": "feat/mesh-phase1",
|
||||
"decisions": {
|
||||
"seal-semantics": "DB-derived + Enabled hatch (confirmed 2026-07-22)",
|
||||
"cluster-scope": "Dropped — no cluster-scoped deployment exists; expected set = all enabled ClusterNode rows",
|
||||
"node-roles": "Every ClusterNode row is a driver node; documented + pinned by test, no Roles column",
|
||||
"adminui-edit": "Deferred to Phase 2 (nothing reads the columns until then)"
|
||||
},
|
||||
"tasks": [
|
||||
{ "id": 1, "subject": "Address columns on ClusterNode", "status": "pending", "blockedBy": [] },
|
||||
{ "id": 2, "subject": "EF migration AddClusterNodeTransportPorts", "status": "pending", "blockedBy": [1] },
|
||||
{ "id": 3, "subject": "Coordinator sources expected-ack set from ClusterNode", "status": "pending", "blockedBy": [2] },
|
||||
{ "id": 4, "subject": "Reconcile duplicated AkkaPort with the node's own Cluster:Port", "status": "pending", "blockedBy": [2] },
|
||||
{ "id": 5, "subject": "Rig seed + docs", "status": "pending", "blockedBy": [3, 4] },
|
||||
{ "id": 6, "subject": "Live gate on docker-dev", "status": "pending", "blockedBy": [5] }
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user