Skip to content

Commit

Permalink
Healthcheck for Kepler
Browse files Browse the repository at this point in the history
Since Kepler container image doesn't have either "ss" or "netstat"
commands, check it's health by making curl requests to port 8888.
  • Loading branch information
yadneshk committed Dec 10, 2024
1 parent 5c75bb0 commit 983ba86
Showing 1 changed file with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,24 @@
# License for the specific language governing permissions and limitations
# under the License.

ss -lnp | grep $1 || netstat -plnt | grep -i listen | grep $1
URL="http://0.0.0.0:8888/healthz"

# Get the HTTP status code and response body using curl
RESPONSE=$(curl -s -w "%{http_code}" $URL)
BODY=${RESPONSE:0:-3} # Extract the body (all but the last 3 characters)
HTTP_CODE=${RESPONSE: -3} # Extract the last 3 characters as the HTTP status code

# Check the HTTP status code
if [ "$HTTP_CODE" -ne 200 ]; then
echo "$1 Health check failed: HTTP status code $HTTP_CODE"
exit 1
fi

# Check if the response body contains "ok"
if [[ "$BODY" != *"ok"* ]]; then
echo "$1 Health check failed: Response body does not contain 'ok'"
exit 1
fi

echo "$1 Health check passed: HTTP status code $HTTP_CODE, Health response 'ok'"
exit 0

0 comments on commit 983ba86

Please sign in to comment.