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.
57 lines
1.9 KiB
57 lines
1.9 KiB
#!/usr/bin/env sh
|
|
|
|
#Here is a script to deploy cert to nutanix prism server.
|
|
|
|
#returns 0 means success, otherwise error.
|
|
|
|
# export NUTANIX_USER="" # required
|
|
# export NUTANIX_PASS="" # required
|
|
# export NUTANIX_HOST="" # required
|
|
|
|
|
|
#domain keyfile certfile cafile fullchain
|
|
nutanix_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"
|
|
|
|
_info "Deploying to $NUTANIX_HOST"
|
|
|
|
# NUTANIX ENV VAR check
|
|
if [ -z "$NUTANIX_USER" ] || [ -z "$NUTANIX_PASS" ] || [ -z "$NUTANIX_HOST" ]; then
|
|
_debug "No ENV variables found lets check for saved variables"
|
|
_getdeployconf NUTANIX_USER
|
|
_getdeployconf NUTANIX_PASS
|
|
_getdeployconf NUTANIX_HOST
|
|
_nutanix_user=$NUTANIX_USER
|
|
_nutanix_pass=$NUTANIX_PASS
|
|
_nutanix_host=$NUTANIX_HOST
|
|
if [ -z "$_nutanix_user" ] && [ -z "$_nutanix_pass" ] && [ -z "$_nutanix_host" ]; then
|
|
_err "No host, user and pass found.. If this is the first time deploying please set NUTANIX_HOST, NUTANIX_USER and NUTANIX_PASS in environment variables. Delete them after you have succesfully deployed certs."
|
|
return 1
|
|
else
|
|
_debug "Using saved env variables."
|
|
fi
|
|
else
|
|
_debug "Detected ENV variables to be saved to the deploy conf."
|
|
# Encrypt and save user
|
|
_savedeployconf NUTANIX_USER "$NUTANIX_USER" 1
|
|
_savedeployconf NUTANIX_PASS "$NUTANIX_PASS" 1
|
|
_savedeployconf NUTANIX_HOST "$NUTANIX_HOST" 1
|
|
_nutanix_user="$NUTANIX_USER"
|
|
_nutanix_pass="$NUTANIX_PASS"
|
|
_nutanix_host="$NUTANIX_HOST"
|
|
fi
|
|
curl --silent --fail --user "$_nutanix_user:$_nutanix_pass" -F caChain=@"$_cca" -F cert=@"$_ccert" -F key=@"$_ckey" -F keyType=RSA_2048 -k https://"$_nutanix_host":9440/PrismGateway/services/rest/v1/keys/pem/import >/dev/null
|
|
return $?
|
|
}
|
|
|
|
|