From a28243d446db7748aba4f59f5f9d4cb18de9ce19 Mon Sep 17 00:00:00 2001 From: Ivan FB <128452529+Ivansete-status@users.noreply.github.com> Date: Thu, 27 Mar 2025 11:15:03 +0100 Subject: [PATCH 1/5] set one log to trace in waku_peer_exchang (#3336) --- waku/waku_peer_exchange/protocol.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/waku/waku_peer_exchange/protocol.nim b/waku/waku_peer_exchange/protocol.nim index 4fbaa0a81..7c9005215 100644 --- a/waku/waku_peer_exchange/protocol.nim +++ b/waku/waku_peer_exchange/protocol.nim @@ -229,7 +229,7 @@ proc populateEnrCache(wpx: WakuPeerExchange) = # swap cache for new wpx.enrCache = newEnrCache - debug "ENR cache populated" + trace "ENR cache populated" proc updatePxEnrCache(wpx: WakuPeerExchange) {.async.} = # try more aggressively to fill the cache at startup From 02cbc9eb6b4d854afae53f84aa5a0cbf8cb14246 Mon Sep 17 00:00:00 2001 From: Darshan K <35736874+darshankabariya@users.noreply.github.com> Date: Thu, 27 Mar 2025 16:06:42 +0530 Subject: [PATCH 2/5] chore: relevent ci name (#3338) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 23018396b..9d6a313e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,7 +79,7 @@ jobs: - name: Build binaries run: make V=1 QUICK_AND_DIRTY_COMPILER=1 all tools - trigger-windows-build: + build-windows: uses: ./.github/workflows/windows-build.yml with: branch: ${{ github.ref }} From 4111f8072924ca186d1a02c304668c91bdf65b10 Mon Sep 17 00:00:00 2001 From: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Date: Thu, 27 Mar 2025 11:56:09 +0100 Subject: [PATCH 3/5] As lightpush/filter clients are always mounted and can handle service peers from other sources there no reason to restrict respective REST endpoints availability connected to filternode and lightpushnode cli arguments - they can help but not mandatory to access filter and lightush clients (#3331) --- waku/waku_api/rest/builder.nim | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/waku/waku_api/rest/builder.nim b/waku/waku_api/rest/builder.nim index 6fe1b5e2b..cb324075a 100644 --- a/waku/waku_api/rest/builder.nim +++ b/waku/waku_api/rest/builder.nim @@ -148,7 +148,7 @@ proc startRestServerProtocolSupport*( "/relay endpoints are not available. Please check your configuration: --relay" ## Filter REST API - if conf.filternode != "" and node.wakuFilterClient != nil: + if node.wakuFilterClient != nil: let filterCache = MessageCache.init() let filterDiscoHandler = @@ -161,8 +161,7 @@ proc startRestServerProtocolSupport*( router, node, filterCache, filterDiscoHandler ) else: - restServerNotInstalledTab["filter"] = - "/filter endpoints are not available. Please check your configuration: --filternode" + restServerNotInstalledTab["filter"] = "/filter endpoints are not available." ## Store REST API let storeDiscoHandler = @@ -175,9 +174,10 @@ proc startRestServerProtocolSupport*( rest_store_legacy_api.installStoreApiHandlers(router, node, storeDiscoHandler) ## Light push API - ## Install it either if lightpushnode (lightpush service node) is configured and client is mounted) + ## Install it either if client is mounted) ## or install it to be used with self-hosted lightpush service - if (conf.lightpushnode != "" and node.wakuLegacyLightpushClient != nil) or + ## We either get lightpushnode (lightpush service node) from config or discovered or self served + if (node.wakuLegacyLightpushClient != nil) or (conf.lightpush and node.wakuLegacyLightPush != nil and node.wakuRelay != nil): let lightDiscoHandler = if not wakuDiscv5.isNil(): @@ -190,8 +190,7 @@ proc startRestServerProtocolSupport*( ) rest_lightpush_api.installLightPushRequestHandler(router, node, lightDiscoHandler) else: - restServerNotInstalledTab["lightpush"] = - "/lightpush endpoints are not available. Please check your configuration: --lightpushnode" + restServerNotInstalledTab["lightpush"] = "/lightpush endpoints are not available." info "REST services are installed" return ok() From fe8327627ee15984bbecef4ca2864bcb7ab2a9b6 Mon Sep 17 00:00:00 2001 From: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Date: Thu, 27 Mar 2025 11:56:44 +0100 Subject: [PATCH 4/5] Make /debug endpoints /version and /info available as root (#3333) --- tests/wakunode_rest/test_rest_debug.nim | 4 ++-- waku/waku_api/rest/debug/client.nim | 4 ++-- waku/waku_api/rest/debug/handlers.nim | 19 ++++++++++++++++--- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/tests/wakunode_rest/test_rest_debug.nim b/tests/wakunode_rest/test_rest_debug.nim index 1d7359f68..f4e66eb20 100644 --- a/tests/wakunode_rest/test_rest_debug.nim +++ b/tests/wakunode_rest/test_rest_debug.nim @@ -33,7 +33,7 @@ proc testWakuNode(): WakuNode = newTestWakuNode(privkey, bindIp, port, some(extIp), some(port)) suite "Waku v2 REST API - Debug": - asyncTest "Get node info - GET /debug/v1/info": + asyncTest "Get node info - GET /info": # Given let node = testWakuNode() await node.start() @@ -62,7 +62,7 @@ suite "Waku v2 REST API - Debug": await restServer.closeWait() await node.stop() - asyncTest "Get node version - GET /debug/v1/version": + asyncTest "Get node version - GET /version": # Given let node = testWakuNode() await node.start() diff --git a/waku/waku_api/rest/debug/client.nim b/waku/waku_api/rest/debug/client.nim index cc8c0883b..7048ae98f 100644 --- a/waku/waku_api/rest/debug/client.nim +++ b/waku/waku_api/rest/debug/client.nim @@ -11,10 +11,10 @@ logScope: # TODO: Check how we can use a constant to set the method endpoint (improve "rest" pragma under nim-presto) proc debugInfoV1*(): RestResponse[DebugWakuInfo] {. - rest, endpoint: "/debug/v1/info", meth: HttpMethod.MethodGet + rest, endpoint: "/info", meth: HttpMethod.MethodGet .} # TODO: Check how we can use a constant to set the method endpoint (improve "rest" pragma under nim-presto) proc debugVersionV1*(): RestResponse[string] {. - rest, endpoint: "/debug/v1/version", meth: HttpMethod.MethodGet + rest, endpoint: "/version", meth: HttpMethod.MethodGet .} diff --git a/waku/waku_api/rest/debug/handlers.nim b/waku/waku_api/rest/debug/handlers.nim index fa55f0372..4ae90d007 100644 --- a/waku/waku_api/rest/debug/handlers.nim +++ b/waku/waku_api/rest/debug/handlers.nim @@ -8,10 +8,12 @@ export types logScope: topics = "waku node rest debug_api" -const ROUTE_DEBUG_INFOV1* = "/debug/v1/info" +const ROUTE_INFOV1* = "/info" +# /debug route is deprecated, will be removed +const ROUTE_DEBUG_INFOV1 = "/debug/v1/info" proc installDebugInfoV1Handler(router: var RestRouter, node: WakuNode) = - router.api(MethodGet, ROUTE_DEBUG_INFOV1) do() -> RestApiResponse: + let getInfo = proc(): RestApiResponse = let info = node.info().toDebugWakuInfo() let resp = RestApiResponse.jsonResponse(info, status = Http200) if resp.isErr(): @@ -20,11 +22,22 @@ proc installDebugInfoV1Handler(router: var RestRouter, node: WakuNode) = return resp.get() -const ROUTE_DEBUG_VERSIONV1* = "/debug/v1/version" + # /debug route is deprecated, will be removed + router.api(MethodGet, ROUTE_DEBUG_INFOV1) do() -> RestApiResponse: + return getInfo() + router.api(MethodGet, ROUTE_INFOV1) do() -> RestApiResponse: + return getInfo() + +const ROUTE_VERSIONV1* = "/version" +# /debug route is deprecated, will be removed +const ROUTE_DEBUG_VERSIONV1 = "/debug/v1/version" proc installDebugVersionV1Handler(router: var RestRouter, node: WakuNode) = + # /debug route is deprecated, will be removed router.api(MethodGet, ROUTE_DEBUG_VERSIONV1) do() -> RestApiResponse: return RestApiResponse.textResponse(git_version, status = Http200) + router.api(MethodGet, ROUTE_VERSIONV1) do() -> RestApiResponse: + return RestApiResponse.textResponse(git_version, status = Http200) proc installDebugApiHandlers*(router: var RestRouter, node: WakuNode) = installDebugInfoV1Handler(router, node) From 935914224eb947932fe9823e3beac2760453fb12 Mon Sep 17 00:00:00 2001 From: Prem Chaitanya Prathi Date: Thu, 27 Mar 2025 17:56:30 +0530 Subject: [PATCH 5/5] newer docker version fails to build due to incorrect case (#3341) --- Dockerfile | 2 +- docker/binaries/Dockerfile.bn.amd64 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 181a6a631..84e457767 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,7 +27,7 @@ RUN make -j$(nproc) ${NIM_COMMIT} $MAKE_TARGET LOG_LEVEL=${LOG_LEVEL} NIMFLAGS=" # PRODUCTION IMAGE ------------------------------------------------------------- -FROM alpine:3.18 as prod +FROM alpine:3.18 AS prod ARG MAKE_TARGET=wakunode2 diff --git a/docker/binaries/Dockerfile.bn.amd64 b/docker/binaries/Dockerfile.bn.amd64 index 8b810e3a1..d32cf9342 100644 --- a/docker/binaries/Dockerfile.bn.amd64 +++ b/docker/binaries/Dockerfile.bn.amd64 @@ -1,5 +1,5 @@ # Dockerfile to build a distributable container image from pre-existing binaries -FROM debian:stable-slim as prod +FROM debian:stable-slim AS prod ARG MAKE_TARGET=wakunode2