41 lines
1.0 KiB
Bash
41 lines
1.0 KiB
Bash
|
#!/bin/bash
|
||
|
#
|
||
|
# Nagios plugin to check mobilizon's version
|
||
|
#
|
||
|
|
||
|
# program return value
|
||
|
# 0 : OK
|
||
|
# 1 : CRITICAL
|
||
|
# 2 : WARNING new version available
|
||
|
# 3 : UNKNOWN github or local repo not probable
|
||
|
|
||
|
# project api for gitlab https://docs.gitlab.com/ee/api/tags.html
|
||
|
# upgrade documentation https://docs.joinmobilizon.org/administration/upgrading/
|
||
|
LOCAL_REPO=/srv/mobilizon.chapril.org/live
|
||
|
FRAMAGIT_PROJECT_ID=20125
|
||
|
|
||
|
|
||
|
function usage() {
|
||
|
echo "Usage : $0"
|
||
|
}
|
||
|
|
||
|
#
|
||
|
if [ "$#" -ne 0 ]; then
|
||
|
usage
|
||
|
else
|
||
|
lastVersion=$(curl -s https://framagit.org/api/v4/projects/$FRAMAGIT_PROJECT_ID/releases | jshon -a -e name|cut -d '"' -f2|grep -v '[\^\(alpha\)]'|head -n 1)
|
||
|
currentVersion=$(cd $LOCAL_REPO && git branch | grep '*'|cut -c 3-100 )
|
||
|
|
||
|
# echo "current version: $currentVersion"
|
||
|
# echo "last version: $lastVersion"
|
||
|
if [ $currentVersion = $lastVersion ]; then
|
||
|
echo "OK"
|
||
|
result=0
|
||
|
else
|
||
|
echo "WARNING : new version available, current is $currentVersion, last is $lastVersion."
|
||
|
result=1
|
||
|
fi
|
||
|
fi
|
||
|
exit $result
|
||
|
|