Compare commits

...

2 commits

Author SHA1 Message Date
Benjamin Renard 36dd1b7973
Update README.md file 2023-04-27 17:02:33 +02:00
Benjamin Renard 20e5fc23ca
Defaulty show detected changes and add full diff (-F) & hide changes (-H) features 2023-04-27 16:56:51 +02:00
2 changed files with 45 additions and 14 deletions

View file

@ -1,24 +1,38 @@
Nagios plugin to check Git Repository status
============================================
# Nagios plugin to check Git Repository status
Usage
-----
## Installation
```
Usage : check_git_config -g [directory] [-c|-r remote] [-d]
-g [directory] Specify Git root directory (default : /srv/common)
-c Check Git remote state
-r [remote] Specify Git remote to check (default : origin)
-d Enable debug mode
apt-get install git
git clone https://gitea.zionetrix.net/bn8/check_git_config.git /usr/local/src/check_git_config
mkdir -p /usr/local/lib/nagios/plugins
ln -s /usr/local/src/check_git_config/check_git_config /usr/local/lib/nagios/plugins/
# To add check on /var/www/website status (owned by www-data)
echo "nagios ALL= (www-data) NOPASSWD: /usr/local/lib/nagios/plugins/check_git_config -g /var/www/website" > /etc/sudoers.d/nagios-git-website
chmod 0400 /etc/sudoers.d/nagios-git-website
echo "command[check_git_website]=sudo -u www-data /usr/local/lib/nagios/plugins/check_git_config -g /var/www/website" > /etc/nagios/nrpe.d/git-website.cfg
service nagios-nrpe-server reload
```
Copyright
---------
## Usage
```
Usage : check_git_config -g [directory] [-c|-r remote] [-d]
-g [directory] Specify Git root directory (default : /srv/common)
-c Check Git remote state
-r [remote] Specify Git remote to check (default : origin)
-H Hide detected changes
-F Show full diff in case of changes detected (default: short)
-d Enable debug mode
```
## Copyright
Copyright (c) 2018 Benjamin Renard
License
-------
## License
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 2

View file

@ -11,16 +11,20 @@ GIT_ROOT=/srv/common
GIT_REMOTE=origin
DEBUG=0
CHECK_REMOTE=0
HIDE_CHANGES=0
FULL_DIFF=0
function usage() {
echo "Usage : $0 -g [directory] [-c|-r remote] [-d]
-g [directory] Specify Git root directory (default : $GIT_ROOT)
-c Check Git remote state
-r [remote] Specify Git remote to check (default : $GIT_REMOTE)
-H Hide detected changes
-F Show full diff in case of changes detected (default: short)
-d Enable debug mode"
}
while getopts "g:r:cdh-:" OPTION
while getopts "g:r:cdFHh-:" OPTION
do
case "$OPTION" in
c)
@ -36,6 +40,12 @@ do
d)
DEBUG=1
;;
H)
HIDE_CHANGES=1
;;
F)
FULL_DIFF=1
;;
h)
usage
exit 0
@ -66,6 +76,13 @@ then
elif [ -n "$STATUS" ]
then
echo "WARNING : Git config repo on $( hostname ) not clean"
if [ $FULL_DIFF -eq 1 ]
then
git diff
elif [ $HIDE_CHANGES -ne 1 ]
then
echo -e "$STATUS"
fi
exit 1
elif [ $CHECK_REMOTE -eq 1 ]
then