Update nodemgmt-scripts.sh

This commit is contained in:
2023-11-22 20:15:03 -06:00
parent a8ed49a50b
commit ed18c1e6b9

View File

@@ -396,16 +396,19 @@ NODEUPDATE() {
}
VCENTER-SSL(){
if [ "${NM_VCHOSTNAME}" != "" ] && [ "${NM_VCUSER}" != "" ] && [ "${NM_VCPASS}" != "" ] && [ "${NM_WPDNS_KEY}" != "" ]; then
VCSERVER="https://${NM_VCHOSTNAME}"
CURRENTLIVE=/etc/vmware-rhttpproxy/ssl/rui.crt
[ "${NM_VC_ACMEFOLDER}" == "" ] && NM_VC_ACMEFOLDER="/root/.acme.sh"
[ "${NM_VC_ACMESCRIPT}" == "" ] && NM_VC_ACMESCRIPT="acme.sh"
VC_CERT=/root/.acme.sh/${NM_VCHOSTNAME}/${NM_VCHOSTNAME}.cer
VC_KEY=/root/.acme.sh/${NM_VCHOSTNAME}/${NM_VCHOSTNAME}.key
VC_CHAIN=/root/.acme.sh/${NM_VCHOSTNAME}/fullchain.cer
if [ "${NM_VC_HOSTNAME}" != "" ] && [ "${NM_VC_USER}" != "" ] && [ "${NM_VC_PASS}" != "" ] && [ "${NM_WPDNS_KEY}" != "" ]; then
VCSERVER="https://${NM_VC_HOSTNAME}"
CURRENTLIVECERTCERT=/etc/vmware-rhttpproxy/ssl/rui.crt
VC_CERT=${NM_VC_ACMEFOLDER}/${NM_VC_HOSTNAME}/${NM_VC_HOSTNAME}.cer
VC_KEY=${NM_VC_ACMEFOLDER}/${NM_VC_HOSTNAME}/${NM_VC_HOSTNAME}.key
VC_CHAIN=${NM_VC_ACMEFOLDER}/${NM_VC_HOSTNAME}/fullchain.cer
echo -en "${idsCL[LightCyan]}Checking days left on vCenter cert... ${idsCL[Default]}"
VCCERTDAYS=$(${NM_FOLDER}/ssl-cert-check/ssl-cert-check -p 443 -s ${NM_VCHOSTNAME} -N)
VCCERTDAYS=$(${NM_FOLDER}/ssl-cert-check/ssl-cert-check -p 443 -s ${NM_VC_HOSTNAME} -N)
VCCERTDAYS=${VCCERTDAYS#*=}
if [ "${VCCERTDAYS}" -gt "29" ]; then
@@ -425,44 +428,43 @@ VCENTER-SSL(){
echo '#!/usr/bin/env bash' >| /tmp/vcenter-update-ssl.sh
echo "export PDNS_Url='https://wdns.scity.us'
export PDNS_Token='${NM_WPDNS_KEY}'
# export PDNS_ServerId='localhost'
export PDNS_ServerId='scity.us'
export PDNS_Ttl=60
" >> /tmp/vcenter-update-ssl.sh
if ssh -q root@${NM_VCHOSTNAME} [ ! -d /root/.acme.sh ]; then
if ssh -q root@${NM_VC_HOSTNAME} [ ! -d ${NM_VC_ACMEFOLDER} ]; then
echo -e "${idsCL[Yellow]}Installing acme.sh scripts on vCenter${idsCL[Default]}\n"
ssh -q root@${NM_VCHOSTNAME} "wget -O - https://get.acme.sh | sh"
echo -e "${idsCL[LightGreen]}Requesting new certificate ...${idsCL[Default]}\n"
echo "/root/.acme.sh/acme.sh --server letsencrypt -k 2048 --preferred-chain 'ISRG Root X1' --issue --dns dns_pdns -d ${NM_VCHOSTNAME}" >> /tmp/vcenter-update-ssl.sh
ssh -q root@${NM_VC_HOSTNAME} "wget -O - https://get.acme.sh | sh"
echo -e "\n${idsCL[LightGreen]}Requesting new certificate ...${idsCL[Default]}\n"
echo "${NM_VC_ACMEFOLDER}/${NM_VC_ACMESCRIPT} --server letsencrypt -k 2048 --preferred-chain 'ISRG Root X1' --issue --dns dns_pdns -d ${NM_VC_HOSTNAME}" >> /tmp/vcenter-update-ssl.sh
else
echo -e "${idsCL[Green]}Verified acme.sh scripts are installed on vCenter, checking for updates${idsCL[Default]}\n"
ssh -q root@${NM_VCHOSTNAME} "/root/.acme.sh/acme.sh --upgrade"
echo -e "${idsCL[LightGreen]}Renewing certificate ...${idsCL[Default]}\n"
ssh -q root@${NM_VC_HOSTNAME} "${NM_VC_ACMEFOLDER}/${NM_VC_ACMESCRIPT} --upgrade"
echo -e "\n${idsCL[LightGreen]}Renewing certificate ...${idsCL[Default]}\n"
if [ "${1}" == "force" ]; then
echo "/root/.acme.sh/acme.sh --renew-all --force --test" >> /tmp/vcenter-update-ssl.sh
# echo "${NM_VC_ACMEFOLDER}/${NM_VC_ACMESCRIPT} --renew-all --force" >> /tmp/vcenter-update-ssl.sh
else
echo "/root/.acme.sh/acme.sh --renew-all" >> /tmp/vcenter-update-ssl.sh
echo "${NM_VC_ACMEFOLDER}/${NM_VC_ACMESCRIPT} --renew-all" >> /tmp/vcenter-update-ssl.sh
fi
fi
scp -q /tmp/vcenter-update-ssl.sh root@${NM_VCHOSTNAME}:/tmp/vcenter-update-ssl.sh
ssh -q root@${NM_VCHOSTNAME} "bash /tmp/vcenter-update-ssl.sh"
scp -q /tmp/vcenter-update-ssl.sh root@${NM_VC_HOSTNAME}:/tmp/vcenter-update-ssl.sh
ssh -q root@${NM_VC_HOSTNAME} "bash /tmp/vcenter-update-ssl.sh"
LIVEMD5=$(ssh -q root@${NM_VC_HOSTNAME} "md5sum ${CURRENTLIVECERT} | cut -d\ -f1")
CURRENTMD5=$(ssh -q root@${NM_VC_HOSTNAME} "md5sum ${VC_CERT} | cut -d\ -f1")
if [ "$LIVEMD5" == "$CURRENTMD5" ] && [ "${1}" != "force" ]; then
echo -e "${idsCL[Yellow]}Certificates remains the same, no newer certificates exist${idsCL[Default]}"
echo
exit 0
fi
# LIVEMD5=$(ssh root@${NM_VCHOSTNAME} "md5sum $CURRENTLIVE | cut -d\ -f1")
# CURRENTMD5=$(md5sum $CERTDIR/cert.pem | cut -d\ -f1)
# if [ "$LIVEMD5" == "$CURRENTMD5" ] && [ "${1}" != "force" ]; then
# echo -e "${idsCL[Yellow]}Certificates remains the same, no newer certificates exist${idsCL[Default]}"
# echo
# exit 0
# fi
echo -e "${idsCL[LightGreen]}Updating certificates on vCenter... ${idsCL[Default]}"
echo -e "${idsCL[LightCyan]}This process make take up to 10mins${idsCL[Default]}"
echo
# echo -e "${idsCL[Green]}Updating certificates on vCenter... ${idsCL[Default]}"
# echo -e "${idsCL[LightCyan]}This process make take up to 10mins${idsCL[Default]}"
# echo
# ssh root@${NM_VCHOSTNAME} "(printf '1\n%s\n' '${NM_VCUSER}'; sleep 1; printf '%s\n' '${NM_VCPASS}'; sleep 1; printf '2\n'; sleep 1; printf '%s\n%s\n%s\ny\n\n' '${VC_CERT}' '${VC_KEY}' '${VC_CHAIN}') | setsid /usr/lib/vmware-vmca/bin/certificate-manager"
ssh -q root@${NM_VC_HOSTNAME} "(printf '1\n%s\n' '${NM_VC_USER}'; sleep 1; printf '%s\n' '${NM_VC_PASS}'; sleep 1; printf '2\n'; sleep 1; printf '%s\n%s\n%s\ny\n\n' '${VC_CERT}' '${VC_KEY}' '${VC_CHAIN}') | setsid /usr/lib/vmware-vmca/bin/certificate-manager"
echo -e "\n${idsCL[Green]}The vCenter certifcate has been updated${idsCL[Default]}"