openvidu-deployment: Automated replicate AMIs in OpenVidu PRO

pull/576/head
cruizba 2020-12-10 01:11:26 +01:00
parent 3bdc50cd1f
commit 4a12137fca
2 changed files with 49 additions and 22 deletions

View File

@ -214,6 +214,7 @@ Parameters:
- false
Default: true
#start_mappings
Mappings:
OVAMIMAP:
eu-west-1:
@ -222,6 +223,7 @@ Mappings:
KMSAMIMAP:
eu-west-1:
AMI: KMS_AMI_ID
#end_mappings
Metadata:
'AWS::CloudFormation::Interface':

View File

@ -10,6 +10,9 @@ set -eu -o pipefail
#
# OV_AMI_NAME OpenVidu AMI Name
# OV_AMI_ID OpenVidu AMI ID
#
# UPDATE_CF Boolean, true if you want to update CF template by OPENVIDU_PRO_VERSION
# OPENVIDU_VERSION OpenVidu Version of the CF you want to update. It will update CF-OpenVidu-Pro-OPENVIDU_PRO_VERSION
export AWS_DEFAULT_REGION=eu-west-1
@ -92,26 +95,48 @@ do
ITER=$(expr $ITER + 1)
done
echo
echo "OpenVidu Server Pro Node AMI IDs"
ITER=0
for i in "${OPENVIDU_SERVER_PRO_AMI_IDS[@]}"
do
# Print and generate replicated AMIS
REPLICATED_AMIS_FILE="replicated_amis.yaml"
echo "OV AMIs and KMS AMIs replication:"
{
echo "Mappings:"
echo " OVAMIMAP:"
ITER=0
for i in "${OPENVIDU_SERVER_PRO_AMI_IDS[@]}"
do
AMI_ID=${OPENVIDU_SERVER_PRO_AMI_IDS[$ITER]}
REGION=${REGIONS[$ITER]}
echo " ${REGION}:"
echo " AMI: ${AMI_ID}"
ITER=$(expr $ITER + 1)
done
echo
echo "Media Node AMI IDs"
ITER=0
for i in "${MEDIA_NODE_AMI_IDS[@]}"
do
done
echo ""
echo " KMSAMIMAP:"
ITER=0
for i in "${MEDIA_NODE_AMI_IDS[@]}"
do
AMI_ID=${MEDIA_NODE_AMI_IDS[$ITER]}
REGION=${REGIONS[$ITER]}
echo " ${REGION}:"
echo " AMI: ${AMI_ID}"
ITER=$(expr $ITER + 1)
done
done
echo ""
} > "${REPLICATED_AMIS_FILE}" 2>&1
# Print replicated AMIs
cat "${REPLICATED_AMIS_FILE}"
if [[ ${UPDATE_CF} == "true" ]]; then
if [[ ! -z ${OPENVIDU_PRO_VERSION} ]]; then
# Download s3 file
aws s3 cp s3://aws.openvidu.io/CF-OpenVidu-Pro-${OPENVIDU_PRO_VERSION}.yaml CF-OpenVidu-Pro-${OPENVIDU_PRO_VERSION}.yaml
sed -e "/^#end_mappings/r ${REPLICATED_AMIS_FILE}" -e '/^#start_mappings/,/^#end_mappings/d' -i CF-OpenVidu-Pro-${OPENVIDU_PRO_VERSION}.yaml
aws s3 cp CF-OpenVidu-Pro-${OPENVIDU_PRO_VERSION}.yaml s3://aws.openvidu.io/CF-OpenVidu-Pro-${OPENVIDU_PRO_VERSION}.yaml --acl public-read
fi
fi
# Cleaning the house
rm "${REPLICATED_AMIS_FILE}"
rm CF-OpenVidu-Pro-${OPENVIDU_PRO_VERSION}.yaml