debian | ||
.gitignore | ||
.pre-commit-config.yaml | ||
.woodpecker.yml | ||
build.sh | ||
check_woodpecker_upgrade | ||
README.md |
Monitoring plugin to check Woodpecker CI instance upgrade status
This Icinga/Nagios check plugin permit to check Woodpecker CI instance upgrade status by comparing the local woodpecker-server binary version against the latest stable release.
This script could also be used to easily upgrade your installation. It could automatically:
- Download latest release asset matching to your already installed woodpecker packages
- Install corresponding packages
- Restart corresponding active woodpecker services (agent & server). Note: systemd services name must match the woodpecker package name.
Installation
apt install git python3-requests
git clone https://gitea.zionetrix.net/bn8/check_woodpecker_upgrade.git /usr/local/src/check_woodpecker_upgrade
mkdir -p /usr/local/lib/nagios/plugins
ln -s /usr/local/src/check_woodpecker_upgrade/check_woodpecker_upgrade /usr/local/lib/nagios/plugins/
echo "command[check_woodpecker_upgrade]=/usr/local/lib/nagios/plugins/check_woodpecker_upgrade" > /etc/nagios/nrpe.d/woodpecker.cfg
service nagios-nrpe-server reload
Usage
usage: check_woodpecker_upgrade [-h] [-d] [-v] [-p PATH] [-U URL] [--pre-release]
[--draft] [-t TIMEOUT] [-u] [-f] [--arch ARCH]
options:
-h, --help show this help message and exit
-d, --debug
-v, --verbose
-p PATH, --path PATH Woodpecker CI bin path
-U URL, --url URL Woodpecker CI releases URL
--pre-release Allow pre-release (default: only stable release are
considered)
--draft Allow draft release (default: only stable release are
considered)
-t TIMEOUT, --timeout TIMEOUT
Specify timeout for HTTP requests (default: 20)
-u, --upgrade Upgrade Woodpecker CI
-f, --force Force upgrade Woodpecker CI
--arch ARCH System dpkg architecture (default: auto-detect)
Copyright
Copyright (c) 2024 Benjamin Renard brenard@zionetrix.net
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.