jean-cloud-services/provisioning/roles/deploy_all/files/bin/findcert.sh

38 lines
731 B
Bash
Raw Normal View History

2023-11-03 18:32:58 +00:00
#!/bin/bash
set -euo pipefail
. driglibash-base
if [ "$#" -lt 1 ] ; then
die "Usage: $0 <service_nanme> [-v]"
fi
service="$1"
shift
verbose=false
if [ "$#" -ge 1 ] && [ "$1" = "-v" ] ; then
verbose=true
fi
. /etc/jeancloud.env
2023-12-20 17:06:09 +00:00
# Look in both cert directories
2023-11-03 18:32:58 +00:00
for dir in "$dns_certs_path" "$http_certs_path" ; do
name="$(ls "$dir" | grep "^$service\(-[0-9]\{4\}\)\?$")" || true
if [ -z "$name" ] ; then
if $verbose ; then
echo "Service $service have no certificate in $dir" >&2
fi
elif [ ! -e "$dir/$name/fullchain.pem" ] ; then
if $verbose ; then
echo "Service $service have no cert in dir $dir" >&2
fi
else
echo "$dir/$name"
exit 0
fi
done
# If nothing found, use dummy cert
echo "$dummy_cert_path"