Refactor script with functions
This commit is contained in:
parent
0bd74cbf63
commit
1c63e6d4e9
42
renew_cert.sh
Normal file → Executable file
42
renew_cert.sh
Normal file → Executable file
@ -4,8 +4,8 @@ path="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
|
||||
#############
|
||||
# variables
|
||||
acme_dir=/srv/certs/acme-challenge/.well-known/acme-challenge
|
||||
opt_dir=/srv/certs/.opt
|
||||
acme_dir=/docker/certs/acme-challenge/.well-known/acme-challenge
|
||||
opt_dir=/docker/certs/.opt
|
||||
account_key=$opt_dir/account.key
|
||||
acme_tiny=$opt_dir/acme_tiny.py
|
||||
openssl_conf=$opt_dir/openssl.conf
|
||||
@ -14,6 +14,7 @@ openssl_conf=$opt_dir/openssl.conf
|
||||
# script
|
||||
|
||||
|
||||
main() {
|
||||
# stop script if receive SIGINT (ctrl-c)
|
||||
trap "exit" INT
|
||||
|
||||
@ -57,22 +58,34 @@ acme_dir=${acme_dir%/}
|
||||
opt_dir=${opt_dir%/}
|
||||
|
||||
# check if python is installed
|
||||
command -v python >/dev/null 2>&1 || { echo >&2 "I require python but it's not installed. Aborting."; exit 1; }
|
||||
command -v python >/dev/null 2>&1 || { echo >&2 "Python is required but it's not installed. Aborting."; exit 1; }
|
||||
|
||||
counter=0
|
||||
|
||||
for arg in "$@"
|
||||
do
|
||||
process_renewal
|
||||
|
||||
if [ $? == 0 ]; then
|
||||
echo "Certificate successfully created!"
|
||||
counter=$((counter+1))
|
||||
fi
|
||||
done
|
||||
|
||||
echo "$counter new certificates created!"
|
||||
}
|
||||
|
||||
process_renewal() (
|
||||
arg="$path/${arg%/}"
|
||||
|
||||
if [ ! -d "$arg" ]; then
|
||||
echo "Folder $arg doesn't exists!"
|
||||
continue
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ ! -s "$arg/domain.conf" ]; then
|
||||
echo "Configuration file doen't exists!"
|
||||
continue
|
||||
return 1
|
||||
fi
|
||||
|
||||
# load configuration variables
|
||||
@ -82,12 +95,13 @@ do
|
||||
# check domain.conf variables
|
||||
if [ -z "$NAME" ]; then
|
||||
echo "No name given for domain \"$arg\"".
|
||||
continue
|
||||
return 1
|
||||
fi
|
||||
echo "Processing certificate \"$NAME\"..."
|
||||
|
||||
if [ ${#DOMAINS[@]} -eq 0 ]; then
|
||||
echo "No domains given for \"$NAME\"."
|
||||
continue
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
@ -119,7 +133,7 @@ do
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "Creating csr/key files FAILED for \"$NAME\"!"
|
||||
continue
|
||||
return 1
|
||||
fi
|
||||
|
||||
# get certificate
|
||||
@ -128,7 +142,7 @@ do
|
||||
if [ $? != 0 ]; then
|
||||
rm -rf $arg/tmp.pem
|
||||
echo "Getting certificate for \"$NAME\" FAILED!"
|
||||
continue
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ -s "$arg/tmp.pem" ]; then
|
||||
@ -136,12 +150,10 @@ do
|
||||
else
|
||||
echo "New certificate for \"$NAME\" doesn't exists or is empty"
|
||||
rm -rf "$arg/tmp.pem"
|
||||
continue
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Certificate for \"$NAME\" successfully created!"
|
||||
counter=$((counter+1))
|
||||
return 0
|
||||
)
|
||||
|
||||
done
|
||||
|
||||
echo "$counter new certificates created!"
|
||||
main "$@"; exit
|
||||
|
Loading…
x
Reference in New Issue
Block a user