9b55169251
* 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
|