#!/bin/bash
#
# Usage: /usr/lib/nagios/plugins/check_apt_update

# Nagios Exit Codes
OK=0
WARNING=1
CRITICAL=2
UNKNOWN=3

OUTPUT=$(sudo apt -o APT::Update::Error-On-NoReleaseUrls=true -q -y update 2>&1)
EXIT_CODE=$?

if [ $EXIT_CODE -eq 0 ] && [[ ! "$OUTPUT" =~ "W:" ]]; then
    echo "OK - apt update completed successfully."
    exit $OK
else
    CLEAN_OUTPUT=$(echo "$OUTPUT" | grep -E "(E:|W:)" | head -n 1)
    
    if [ -z "$CLEAN_OUTPUT" ]; then
        CLEAN_OUTPUT=$(echo "$OUTPUT" | head -n 2 | tr '\n' ' ')
    fi

    echo "WARNING - Issue during apt update | ${CLEAN_OUTPUT}"
    exit $WARNING
fi