You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/usr/bin/env sh
# Script to deploy certificate to Netlify # https://docs.netlify.com/api/get-started/#authentication # https://open-api.netlify.com/#tag/sniCertificate
# This deployment required following variables # export Netlify_ACCESS_TOKEN="Your Netlify Access Token" # export Netlify_SITE_ID="Your Netlify Site ID"
# If have more than one SITE ID # export Netlify_SITE_ID="SITE_ID_1 SITE_ID_2"
# returns 0 means success, otherwise error.
######## Public functions #####################
#domain keyfile certfile cafile fullchain netlify_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 "$Netlify_ACCESS_TOKEN" ]; then _err "Netlify_ACCESS_TOKEN is not defined." return 1 else _savedomainconf Netlify_ACCESS_TOKEN "$Netlify_ACCESS_TOKEN" fi if [ -z "$Netlify_SITE_ID" ]; then _err "Netlify_SITE_ID is not defined." return 1 else _savedomainconf Netlify_SITE_ID "$Netlify_SITE_ID" fi
_info "Deploying certificate to Netlify..."
## upload certificate string_ccert=$(sed 's/$/\\n/' "$_ccert" | tr -d '\n') string_cca=$(sed 's/$/\\n/' "$_cca" | tr -d '\n') string_key=$(sed 's/$/\\n/' "$_ckey" | tr -d '\n') for SITE_ID in $Netlify_SITE_ID; do _request_body="{\"certificate\":\"$string_ccert\",\"key\":\"$string_key\",\"ca_certificates\":\"$string_cca\"}" _debug _request_body "$_request_body" _debug Netlify_ACCESS_TOKEN "$Netlify_ACCESS_TOKEN" export _H1="Authorization: Bearer $Netlify_ACCESS_TOKEN" _response=$(_post "$_request_body" "https://api.netlify.com/api/v1/sites/$SITE_ID/ssl" "" "POST" "application/json") if _contains "$_response" "\"error\""; then _err "Error in deploying $_cdomain certificate to Netlify SITE_ID $SITE_ID." _err "$_response" return 1 fi _debug response "$_response" _info "Domain $_cdomain certificate successfully deployed to Netlify SITE_ID $SITE_ID." done
return 0 }
|