#! /bin/bash # # Copyright (C) 2020 Laurent Poujoulat # # This file is part of valise.chapril.org # # This script is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # 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 Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # ================================================ # This checks for updates of nextcloud components. # If any update is present, they are listed in human readable form on stdout, and 1 is returned, # and if everything is OK, tell it on stdout "OK", and returns 0. # ================================================ # Configuration data CURL_CREDENTIAL="/etc/valise.chapril.org/curl_credential" # Extract a json value by path (given as argument) # The global JSON state is expected to be in NEXTCLOUD_STATE # Only give the path part within the ocs.data section getNcState() { echo ${NEXTCLOUD_STATE} | jq ".ocs.data.$1" } # Returns script usage function usage() { echo "Usage: $(basename $0)" } # Main entry point EXIT_RESULT=1 # Read and store the current service state NEXTCLOUD_STATE=`curl --silent --netrc-file ${CURL_CREDENTIAL} http://localhost/ocs/v2.php/apps/serverinfo/api/v1/info?format=json` if [ "$#" -ne 0 ] then usage else # Read and store the current service state NEXTCLOUD_STATE=`curl --silent --netrc-file ${CURL_CREDENTIAL} http://localhost/ocs/v2.php/apps/serverinfo/api/v1/info?format=json` getNcState "nextcloud.system.apps.num_updates_available" fi exit ${EXIT_RESULT}