2021-08-29 21:01:38 +03:00
|
|
|
#!/bin/sh
|
|
|
|
|
2022-01-29 01:23:58 +03:00
|
|
|
# If the config file does not contain a default port and the CONDUIT_PORT env is not set, create
|
|
|
|
# try to get port from process list
|
2022-01-29 00:19:19 +03:00
|
|
|
if [ -z "${CONDUIT_PORT}" ]; then
|
2022-02-02 02:51:38 +03:00
|
|
|
CONDUIT_PORT=$(ss -tlpn | grep conduit | grep -m1 -o ':[0-9]*' | grep -m1 -o '[0-9]*')
|
2022-01-29 00:19:19 +03:00
|
|
|
fi
|
|
|
|
|
2023-01-28 01:43:04 +03:00
|
|
|
# If CONDUIT_ADDRESS is not set try to get the address from the process list
|
|
|
|
if [ -z "${CONDUIT_ADDRESS}" ]; then
|
|
|
|
CONDUIT_ADDRESS=$(ss -tlpn | awk -F ' +|:' '/conduit/ { print $4 }')
|
|
|
|
fi
|
|
|
|
|
2021-08-29 21:01:38 +03:00
|
|
|
# The actual health check.
|
|
|
|
# We try to first get a response on HTTP and when that fails on HTTPS and when that fails, we exit with code 1.
|
2021-11-21 20:34:08 +03:00
|
|
|
# TODO: Change this to a single wget call. Do we have a config value that we can check for that?
|
2023-01-28 01:43:04 +03:00
|
|
|
wget --no-verbose --tries=1 --spider "http://${CONDUIT_ADDRESS}:${CONDUIT_PORT}/_matrix/client/versions" || \
|
|
|
|
wget --no-verbose --tries=1 --spider "https://${CONDUIT_ADDRESS}:${CONDUIT_PORT}/_matrix/client/versions" || \
|
2021-08-29 21:01:38 +03:00
|
|
|
exit 1
|