|
|
@ -0,0 +1,56 @@ |
|
|
|
#!/usr/bin/env sh |
|
|
|
|
|
|
|
# Script to deploy certificate to CacheFly |
|
|
|
# https://api.cachefly.com/api/2.5/docs#tag/Certificates/paths/~1certificates/post |
|
|
|
|
|
|
|
# This deployment required following variables |
|
|
|
# export CACHEFLY_TOKEN="Your CacheFly API Token" |
|
|
|
|
|
|
|
# returns 0 means success, otherwise error. |
|
|
|
|
|
|
|
######## Public functions ##################### |
|
|
|
|
|
|
|
#domain keyfile certfile cafile fullchain |
|
|
|
CACHEFLY_API_BASE="https://api.cachefly.com/api/2.5" |
|
|
|
|
|
|
|
cachefly_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" |
|
|
|
|
|
|
|
if [ -z "$CACHEFLY_TOKEN" ]; then |
|
|
|
_err "CACHEFLY_TOKEN is not defined." |
|
|
|
return 1 |
|
|
|
else |
|
|
|
_savedomainconf CACHEFLY_TOKEN "$CACHEFLY_TOKEN" |
|
|
|
fi |
|
|
|
|
|
|
|
_info "Deploying certificate to CacheFly..." |
|
|
|
|
|
|
|
## upload certificate |
|
|
|
string_fullchain=$(sed 's/$/\\n/' "$_cfullchain" | tr -d '\n') |
|
|
|
string_key=$(sed 's/$/\\n/' "$_ckey" | tr -d '\n') |
|
|
|
|
|
|
|
_request_body="{\"certificate\":\"$string_fullchain\",\"certificateKey\":\"$string_key\"}" |
|
|
|
_debug _request_body "$_request_body" |
|
|
|
_debug CACHEFLY_TOKEN "$CACHEFLY_TOKEN" |
|
|
|
export _H1="Authorization: Bearer $CACHEFLY_TOKEN" |
|
|
|
_response=$(_post "$_request_body" "$CACHEFLY_API_BASE/certificates" "" "POST" "application/json") |
|
|
|
|
|
|
|
if _contains "$_response" "message"; then |
|
|
|
_err "Error in deploying $_cdomain certificate to CacheFly." |
|
|
|
_err "$_response" |
|
|
|
return 1 |
|
|
|
fi |
|
|
|
_debug response "$_response" |
|
|
|
_info "Domain $_cdomain certificate successfully deployed to CacheFly." |
|
|
|
return 0 |
|
|
|
} |