feat(conf): default --entry-layer to kernel (#4076)

The node binary is most often run as a transport-only service/fleet node, so
`logosdeliverynode` no longer mounts the messaging client and reliable channel
manager unless asked. Protocol flags are unchanged in the default case: the
individual CLI defaults already match what `applyMode(Core)` was setting.

Only the CLI default moves. `LogosDelivery.new(entryLayer = ...)` and
`parseLogosDeliveryConf` keep defaulting to `channels`, so the Nim and C library
entry points are unaffected. `MessagingClientConf.toWakuNodeConf` pins
`entryLayer = channels` for the same reason it already pins `mode`: a conf
derived from a messaging config is by construction not kernel-only.

`LogosDeliveryConf.init` now honours `entryLayer == kernel` instead of always
mounting the messaging layer, so the layer it records and the layers it mounts
agree. Doc comments follow the code: `mode`/`preset` shape the kernel conf for
every layer, `kernel` included, and `init(kernelConf)` stays the raw entry.

Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Igor Sirotin
2026-08-25 21:32:36 +01:00
committed by GitHub
co-authored by NagyZoltanPeter Claude Opus 5
parent 5100d33293
commit c59b91bce5
7 changed files with 27 additions and 7 deletions
+3
View File
@@ -63,6 +63,9 @@ when isMainModule:
echo "Failed to create default config: ", error
quit(QuitFailure)
# The CLI default is kernel-only; this example drives the messaging API.
conf.entryLayer = EntryLayer.channels
if args.ethRpcEndpoint == "":
# Create a basic configuration for the Waku node
# No RLN as we don't have an ETH RPC Endpoint