feat: abort cwctl upgrade if custom code changes detected (#5329)

* feat: abort cwctl upgrade if custom code changes detected

* fix: cwctl exit handler on upgrade

* chore: update cwctl version
This commit is contained in:
Vishnu Narayanan 2022-08-23 18:56:39 +05:30 committed by GitHub
parent 8bc560752f
commit 5957edc76b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 4 deletions

View file

@ -1 +1 @@
2.6.0 2.2.0

View file

@ -2,7 +2,7 @@
# Description: Install and manage a Chatwoot installation. # Description: Install and manage a Chatwoot installation.
# OS: Ubuntu 20.04 LTS # OS: Ubuntu 20.04 LTS
# Script Version: 2.1.0 # Script Version: 2.2.0
# Run this script as root # Run this script as root
set -eu -o errexit -o pipefail -o noclobber -o nounset set -eu -o errexit -o pipefail -o noclobber -o nounset
@ -19,7 +19,7 @@ fi
# option --output/-o requires 1 argument # option --output/-o requires 1 argument
LONGOPTS=console,debug,help,install,Install:,logs:,restart,ssl,upgrade,webserver,version LONGOPTS=console,debug,help,install,Install:,logs:,restart,ssl,upgrade,webserver,version
OPTIONS=cdhiI:l:rsuwv OPTIONS=cdhiI:l:rsuwv
CWCTL_VERSION="2.1.0" CWCTL_VERSION="2.2.0"
pg_pass=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 15 ; echo '') pg_pass=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 15 ; echo '')
# if user does not specify an option # if user does not specify an option
@ -128,7 +128,7 @@ trap exit_handler EXIT
# None # None
############################################################################## ##############################################################################
function exit_handler() { function exit_handler() {
if [ "$?" -ne 0 ]; then if [ "$?" -ne 0 ] && [ "$u" == "n" ]; then
echo -en "\nSome error has occured. Check '/var/log/chatwoot-setup.log' for details.\n" echo -en "\nSome error has occured. Check '/var/log/chatwoot-setup.log' for details.\n"
exit 1 exit 1
fi fi
@ -686,6 +686,28 @@ function ssl() {
ssl_success_message ssl_success_message
} }
##############################################################################
# Abort upgrade if custom code changes detected(-u/--upgrade)
# Globals:
# None
# Arguments:
# None
# Outputs:
# None
##############################################################################
function upgrade_prereq() {
sudo -i -u chatwoot << "EOF"
cd chatwoot
git update-index --refresh
git diff-index --quiet HEAD --
if [ "$?" -eq 1 ]; then
echo "Custom code changes detected. Aborting update."
echo "Please proceed to update manually."
exit 1
fi
EOF
}
############################################################################## ##############################################################################
# Upgrade an existing installation to latest stable version(-u/--upgrade) # Upgrade an existing installation to latest stable version(-u/--upgrade)
# Globals: # Globals:
@ -699,6 +721,7 @@ function upgrade() {
get_cw_version get_cw_version
echo "Upgrading Chatwoot to v$CW_VERSION" echo "Upgrading Chatwoot to v$CW_VERSION"
sleep 3 sleep 3
upgrade_prereq
sudo -i -u chatwoot << "EOF" sudo -i -u chatwoot << "EOF"
# Navigate to the Chatwoot directory # Navigate to the Chatwoot directory