Skip to content
Snippets Groups Projects
  • Niklas Adolfsson's avatar
    rpc server: add `health/readiness endpoint` (#4802) · 6c857609
    Niklas Adolfsson authored
    Previous attempt https://github.com/paritytech/substrate/pull/14314
    
    Close #4443 
    
    Ideally, we should move /health and /health/readiness to the prometheus
    server but because it's was quite easy to implement on the RPC server
    and that RPC server already exposes /health.
    
    Manual tests on a polkadot node syncing:
    
    ```bash
    ➜ polkadot-sdk (na-fix-4443) ✗ curl -v localhost:9944/health
    * Host localhost:9944 was resolved.
    * IPv6: ::1
    * IPv4: 127.0.0.1
    *   Trying [::1]:9944...
    * connect to ::1 port 9944 from ::1 port 55024 failed: Connection refused
    *   Trying 127.0.0.1:9944...
    * Connected to localhost (127.0.0.1) port 9944
    > GET /health HTTP/1.1
    > Host: localhost:9944
    > User-Agent: curl/8.5.0
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < content-type: application/json; charset=utf-8
    < content-length: 53
    < date: Fri, 14 Jun 2024 16:12:23 GMT
    <
    * Connection #0 to host localhost left intact
    {"peers":0,"isSyncing":false,"shouldHavePeers":false}%
    ➜ polkadot-sdk (na-fix-4443) ✗ curl -v localhost:9944/health/readiness
    * Host localhost:9944 was resolved.
    * IPv6: ::1
    * IPv4: 127.0.0.1
    *   Trying [::1]:9944...
    * connect to ::1 port 9944 from ::1 port 54328 failed: Connection refused
    *   Trying 127.0.0.1:9944...
    * Connected to localhost (127.0.0.1) port 9944
    > GET /health/readiness HTTP/1.1
    > Host: localhost:9944
    > User-Agent: curl/8.5.0
    > Accept: */*
    >
    < HTTP/1.1 500 Internal Server Error
    < content-type: application/json; charset=utf-8
    < content-length: 0
    < date: Fri, 14 Jun 2024 16:12:36 GMT
    <
    * Connection #0 to host localhost left intact
    ```
    
    //cc @BulatSaif
    
     you may be interested in this..
    
    ---------
    
    Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    6c857609
Code owners
Assign users and groups as approvers for specific file changes. Learn more.