* Update Dockerfile
Since parity is built for "mission critical use", I thought other operators may see the need for this.
Adding the `curl` and `jq` commands allows for an extremely simple health check to be usable in container orchestrators.
For example. Here is a health check for a parity docker container running in Kubernetes.
This can be setup as a readiness Probe that would prevent clustered nodes that aren't ready from serving traffic.
```bash
#!/bin/bash
ETH_SYNCING=$(curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 -H 'Content-Type: application/json')
RESULT=$(echo "$ETH_SYNCING | jq -r .result)
if [ "$RESULT" == "false" ]; then
echo "Parity is ready to start accepting traffic"
exit 0
else
echo "Parity is still syncing the blockchain"
exit 1
fi
```
* add sync check script
14 lines
424 B
Bash
Executable File
14 lines
424 B
Bash
Executable File
#!/bin/bash
|
|
# checks if parity has a fully synced blockchain
|
|
|
|
ETH_SYNCING=$(curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 -H 'Content-Type: application/json')
|
|
RESULT=$(echo "$ETH_SYNCING" | jq -r .result)
|
|
|
|
if [ "$RESULT" == "false" ]; then
|
|
echo "Parity is ready to start accepting traffic"
|
|
exit 0
|
|
else
|
|
echo "Parity is still syncing the blockchain"
|
|
exit 1
|
|
fi
|