diff --git a/monitoring/check_gitea_update b/monitoring/check_gitea_update new file mode 100755 index 0000000..65ac975 --- /dev/null +++ b/monitoring/check_gitea_update @@ -0,0 +1,70 @@ +#!/bin/bash +# +# Nagios plugin to check Gitea version + +function usage() +{ + echo "Usage : $0" +} + + +function getCurrentVersion +{ + local result + + local json=$(curl -s -X GET "https://forge.chapril.org/api/v1/version" -H "accept: application/json") + #echo "[$json]" + + # {"version":"1.11.1"} + local regexp='\{"version":"(.*)"}' + if [[ $json =~ $regexp ]]; then + result=${BASH_REMATCH[1]} + else + result= + fi + + echo "$result" +} + +function getLastVersionFromGithub +{ + local result + + local owner="$1" + local repo="$2" + + local json=$(curl -s -X GET https://api.github.com/repos/$owner/$repo/releases/latest |grep tag_name) + #echo "[$json]" + + # [ "tag_name": "v1.11.1",] + local regexp='.*"tag_name": "v(.+)".*' + + if [[ $json =~ $regexp ]]; then + result=${BASH_REMATCH[1]} + else + result= + fi + + echo "$result" +} + + +# +if [ "$#" -ne 0 ]; then + usage +else + currentVersion=$(getCurrentVersion) + #echo "Current version = $currentVersion" + + lastVersion=$(getLastVersionFromGithub "go-gitea" "gitea") + #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 diff --git a/monitoring/check_gitea_update~ b/monitoring/check_gitea_update~ new file mode 100755 index 0000000..b3d0d1b --- /dev/null +++ b/monitoring/check_gitea_update~ @@ -0,0 +1,70 @@ +#!/bin/bash +# +# Nagios plugin to check Gitea version + +function usage() +{ + echo "Usage : $0" +} + + +function getCurrentVersion +{ + local result + + local json=$(curl -s -X GET "https://forge.april.org/api/v1/version" -H "accept: application/json") + #echo "[$json]" + + # {"version":"1.11.1"} + local regexp='\{"version":"(.*)"}' + if [[ $json =~ $regexp ]]; then + result=${BASH_REMATCH[1]} + else + result= + fi + + echo "$result" +} + +function getLastVersionFromGithub +{ + local result + + local owner="$1" + local repo="$2" + + local json=$(curl -s -X GET https://api.github.com/repos/$owner/$repo/releases/latest |grep tag_name) + #echo "[$json]" + + # [ "tag_name": "v1.11.1",] + local regexp='.*"tag_name": "v(.+)".*' + + if [[ $json =~ $regexp ]]; then + result=${BASH_REMATCH[1]} + else + result= + fi + + echo "$result" +} + + +# +if [ "$#" -ne 0 ]; then + usage +else + currentVersion=$(getCurrentVersion) + #echo "Current version = $currentVersion" + + lastVersion=$(getLastVersionFromGithub "go-gitea" "gitea") + #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