Browse Source

implemented all suggestions

emueller 5 months ago
parent
commit
55282851c4
1 changed files with 23 additions and 29 deletions
  1. 23 29
      deploy/kemplm.sh

+ 23 - 29
deploy/kemplm.sh

@@ -11,30 +11,27 @@
 
 #domain keyfile certfile cafile fullchain
 kemplm_deploy() {
-  _cdomain="$1"
-  _ckey="$2"
-  _ccert="$3"
-  _cca="$4"
-  _cfullchain="$5"
-
-  _debug _cdomain "$_cdomain"
-  _debug _ckey "$_ckey"
-  _debug _ccert "$_ccert"
-  _debug _cca "$_cca"
-  _debug _cfullchain "$_cfullchain"
+  _domain="$1"
+  _key_file="$2"
+  _cert_file="$3"
+  _ca_file="$4"
+  _fullchain_file="$5"
+
+  _debug _domain "$_domain"
+  _debug _key_file "$_key_file"
+  _debug _cert_file "$_cert_file"
+  _debug _ca_file "$_ca_file"
+  _debug _fullchain_file "$_fullchain_file"
 
   if ! _exists jq; then
     _err "jq not found"
+    return 1
   fi
 
-  # Rename wildcard certs, kemp accepts only alphanumeric names
-  _kemp_domain=$(echo "${_cdomain}" | sed 's/\*/wildcard/')
+  # Rename wildcard certs, kemp accepts only alphanumeric names so we delete '*.' from filename
+  _kemp_domain=$(echo "${_domain}" | sed 's/\*\.//')
   _debug _kemp_domain "$_kemp_domain"
 
-  # Clear traces of incorrectly stored values
-  _clearaccountconf DEPLOY_KEMP_TOKEN
-  _clearaccountconf DEPLOY_KEMP_URL
-
   # Read config from saved values or env
   _getdeployconf DEPLOY_KEMP_TOKEN
   _getdeployconf DEPLOY_KEMP_URL
@@ -47,7 +44,7 @@ kemplm_deploy() {
     return 1
   fi
   if [ -z "$DEPLOY_KEMP_URL" ]; then
-    _err "Kemp Loadmaster url is not found, please define DEPLOY_KEMP_URL."
+    _err "Kemp Loadmaster URL is not found, please define DEPLOY_KEMP_URL."
     return 1
   fi
 
@@ -55,14 +52,11 @@ kemplm_deploy() {
   _savedeployconf DEPLOY_KEMP_TOKEN "$DEPLOY_KEMP_TOKEN"
   _savedeployconf DEPLOY_KEMP_URL "$DEPLOY_KEMP_URL"
 
-  # Do not check for a valid SSL certificate
-  export HTTPS_INSECURE=1
-
   # Check if certificate is already installed
   _info "Check if certificate is already present"
-  _post_request="{\"cmd\": \"listcert\", \"apikey\": \"${DEPLOY_KEMP_TOKEN}\"}"
-  _debug3 _post_request "${_post_request}"
-  _kemp_cert_count=$(_post "${_post_request}" "${DEPLOY_KEMP_URL}/accessv2" | jq -r '.cert[] | .name' | grep -c "${_kemp_domain}")
+  _list_request="{\"cmd\": \"listcert\", \"apikey\": \"${DEPLOY_KEMP_TOKEN}\"}"
+  _debug3 _list_request "${_list_request}"
+  _kemp_cert_count=$(HTTPS_INSECURE=1 _post "${_list_request}" "${DEPLOY_KEMP_URL}/accessv2" | jq -r '.cert[] | .name' | grep -c "${_kemp_domain}")
   _debug2 _kemp_cert_count "${_kemp_cert_count}"
 
   _kemp_replace_cert=1
@@ -76,13 +70,13 @@ kemplm_deploy() {
 
   # Upload new certificate to Kemp Loadmaster
   _kemp_upload_cert=$(_mktemp)
-  cat "${_cfullchain}" "${_ckey}" | base64 -w 0 >"${_kemp_upload_cert}"
+  cat "${_fullchain_file}" "${_key_file}" | base64 | tr -d '\n' >"${_kemp_upload_cert}"
 
   _info "Uploading certificate to Kemp Loadmaster"
-  _post_data=$(cat "${_kemp_upload_cert}")
-  _post_request="{\"cmd\": \"addcert\", \"apikey\": \"${DEPLOY_KEMP_TOKEN}\", \"replace\": ${_kemp_replace_cert}, \"cert\": \"${_kemp_domain}\", \"data\": \"${_post_data}\"}"
-  _debug3 _post_request "${_post_request}"
-  _kemp_post_result=$(_post "${_post_request}" "${DEPLOY_KEMP_URL}/accessv2")
+  _add_data=$(cat "${_kemp_upload_cert}")
+  _add_request="{\"cmd\": \"addcert\", \"apikey\": \"${DEPLOY_KEMP_TOKEN}\", \"replace\": ${_kemp_replace_cert}, \"cert\": \"${_kemp_domain}\", \"data\": \"${_add_data}\"}"
+  _debug3 _add_request "${_add_request}"
+  _kemp_post_result=$(HTTPS_INSECURE=1 _post "${_add_request}" "${DEPLOY_KEMP_URL}/accessv2")
   _retval=$?
   _debug2 _kemp_post_result "${_kemp_post_result}"
   if [ "${_retval}" -eq 0 ]; then