|
|
@@ -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
|
|
|
+}
|