#!/bin/bash -x set -eu -o pipefail export AWS_DEFAULT_REGION=eu-west-1 fatal_error() { printf "\n =======¡ERROR!=======" printf "\n %s" "$1" printf "\n" exit 1 } TIMESTAMP=$(date +%s) [[ -n "${DEPLOY_ELASTICSEARCH_AWS}" ]] || DEPLOY_ELASTICSEARCH_AWS=false # Check all required variables [[ -n "${OPENVIDU_LICENSE}" ]] || fatal_error "OPENVIDU_LICENSE must be defined" [[ -n "${SSH_KEY_NAME}" ]] || fatal_error "SSH_KEY_NAME must be defined" [[ -n "${VPC}" ]] || fatal_error "VPC must be defined" [[ -n "${SUBNETS}" ]] || fatal_error "SUBNETS must be defined" [[ -n "${LOAD_BALANCER_CERTIFICATE}" ]] || fatal_error "LOAD_BALANCER_CERTIFICATE must be defined" [[ -n "${AWS_ACCOUNT_ID}" ]] || fatal_error "AWS_ACCOUNT_ID must be defined" # Check variables with default values [[ -n "${OPENVIDU_PRO_CLUSTER_ID:-}" ]] || OPENVIDU_PRO_CLUSTER_ID="ov-pro-multimaster-${TIMESTAMP}" [[ -n "${OPENVIDU_SECRET:-}" ]] || OPENVIDU_SECRET="MY_SECRET" [[ -n "${ELASTICSEARCH_USERNAME:-}" ]] || ELASTICSEARCH_USERNAME="elasticadmin" [[ -n "${ELASTICSEARCH_PASSWORD:-}" ]] || ELASTICSEARCH_PASSWORD="My_Secret_123" [[ -n "${MASTER_NODE_INSTANCE_TYPE:-}" ]] || MASTER_NODE_INSTANCE_TYPE="t2.large" [[ -n "${MEDIA_NODE_INSTANCE_TYPE:-}" ]] || MEDIA_NODE_INSTANCE_TYPE="t2.large" # Start elasticsearch TEMP_JSON_ES_CONF=$(mktemp -t es-conf-XXX --suffix .json) cat > "$TEMP_JSON_ES_CONF"< "$TEMP_JSON_ES_EBS_OPT"< "$TEMP_ACCESS_POLICY"< "$TEMP_MASTER_USER"< "$TEMPJSON"<