mirror of
https://github.com/acmesh-official/acme.sh.git
synced 2025-05-08 22:12:44 +00:00
56 lines
1.5 KiB
Bash
56 lines
1.5 KiB
Bash
#!/usr/bin/env sh
|
|
|
|
#Here is a script to deploy cert to an Amazon S3 bucket.
|
|
|
|
#returns 0 means success, otherwise error.
|
|
|
|
# shellcheck source=common/aws.sh
|
|
. "$LE_WORKING_DIR/common/aws.sh"
|
|
|
|
######## Public functions #####################
|
|
|
|
#domain keyfile certfile cafile fullchain
|
|
aws_s3_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"
|
|
|
|
_bucket="${AWS_S3_BUCKET:-$(_readdomainconf Aws_S3_Bucket)}"
|
|
_prefix="${AWS_S3_PREFIX:-$(_readdomainconf Aws_S3_Prefix)}"
|
|
_region="${AWS_S3_REGION:-$(_readdomainconf Aws_S3_Region)}"
|
|
|
|
if [ -z "$_bucket" ]; then
|
|
_err "no S3 bucket to use when deploying $_cdomain"
|
|
return 1
|
|
fi
|
|
if [ -z "$_region" ]; then
|
|
_err "no S3 region to use when deploying $_cdomain"
|
|
return 1
|
|
fi
|
|
|
|
_savedomainconf Aws_S3_Bucket "$_bucket"
|
|
_savedomainconf Aws_S3_Prefix "$_prefix"
|
|
_savedomainconf Aws_S3_Region "$_region"
|
|
|
|
_debug _bucket "$_bucket"
|
|
_debug _prefix "$_prefix"
|
|
_debug _region "$_region"
|
|
|
|
_prefix="$(printf '/%s/' "$_prefix" | sed "s:%cn:$_cdomain:g; s://\+:/:g")"
|
|
|
|
_debug _prefix "$_prefix"
|
|
|
|
for _file in "$_ckey" "$_ccert" "$_cca" "$_cfullchain"; do
|
|
if ! _aws s3 PUT "$_bucket" "$_prefix${_file##*/}" "$_region" <"$_file" >/dev/null; then
|
|
_err "unable to deploy $_file to s3://$_bucket$_prefix in $_region"
|
|
_ret=2
|
|
fi
|
|
done
|
|
|
|
return $_ret
|
|
}
|