check_woodpecker_upgrade

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

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.