mirror of https://github.com/OpenVidu/openvidu.git
openvidu-deployment: added config script of azure blob storage in elastic deployment and added a rol assignment in CE needed
parent
a8c2459d5f
commit
efb691f481
|
@ -688,13 +688,13 @@ CONFIG_DIR="${INSTALL_DIR}/config"
|
|||
az login --identity
|
||||
|
||||
# Config azure blob storage
|
||||
EXTERNAL_S3_ACCOUNT_NAME="${storageAccountName}"
|
||||
EXTERNAL_S3_ACCOUNT_KEY=$(az storage account keys list --account-name ${storageAccountName} --query '[0].value' -o tsv)
|
||||
EXTERNAL_S3_CONTAINER_NAME="${storageAccountContainerName}"
|
||||
AZURE_ACCOUNT_NAME="${storageAccountName}"
|
||||
AZURE_ACCOUNT_KEY=$(az storage account keys list --account-name ${storageAccountName} --query '[0].value' -o tsv)
|
||||
AZURE_CONTAINER_NAME="${storageAccountContainerName}"
|
||||
|
||||
sed -i "s|EXTERNAL_S3_ACCOUNT_NAME=.*|EXTERNAL_S3_ACCOUNT_NAME=$EXTERNAL_S3_ACCOUNT_NAME|" "${CONFIG_DIR}/openvidu.env"
|
||||
sed -i "s|EXTERNAL_S3_ACCOUNT_KEY=.*|EXTERNAL_S3_ACCOUNT_KEY=$EXTERNAL_S3_ACCOUNT_KEY|" "${CONFIG_DIR}/openvidu.env"
|
||||
sed -i "s|EXTERNAL_S3_CONTAINER_NAME=.*|EXTERNAL_S3_CONTAINER_NAME=$EXTERNAL_S3_CONTAINER_NAME|" "${CONFIG_DIR}/openvidu.env"
|
||||
sed -i "s|AZURE_ACCOUNT_NAME=.*|AZURE_ACCOUNT_NAME=$AZURE_ACCOUNT_NAME|" "${CONFIG_DIR}/openvidu.env"
|
||||
sed -i "s|AZURE_ACCOUNT_KEY=.*|AZURE_ACCOUNT_KEY=$AZURE_ACCOUNT_KEY|" "${CONFIG_DIR}/openvidu.env"
|
||||
sed -i "s|AZURE_CONTAINER_NAME=.*|AZURE_CONTAINER_NAME=$AZURE_CONTAINER_NAME|" "${CONFIG_DIR}/openvidu.env"
|
||||
'''
|
||||
|
||||
var formattedTemplateInstallScript = reduce(
|
||||
|
@ -866,6 +866,18 @@ resource openviduServer 'Microsoft.Compute/virtualMachines@2023-09-01' = {
|
|||
}
|
||||
}
|
||||
|
||||
resource roleAssignmentOpenViduServer 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
|
||||
name: guid('roleAssignmentForOpenViduServer${openviduServer.name}')
|
||||
scope: resourceGroup()
|
||||
properties: {
|
||||
roleDefinitionId: subscriptionResourceId(
|
||||
'Microsoft.Authorization/roleDefinitions',
|
||||
'b24988ac-6180-42a0-ab88-20f7382dd24c'
|
||||
)
|
||||
principalId: openviduServer.identity.principalId
|
||||
principalType: 'ServicePrincipal'
|
||||
}
|
||||
}
|
||||
/*------------------------------------------- NETWORK -------------------------------------------*/
|
||||
|
||||
//Create publicIPAddress if convinient
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -884,6 +884,26 @@ systemctl stop openvidu
|
|||
systemctl start openvidu
|
||||
'''
|
||||
|
||||
var config_blobStorageTemplate = '''
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Install dir and config dir
|
||||
INSTALL_DIR="/opt/openvidu"
|
||||
CONFIG_DIR="${INSTALL_DIR}/config"
|
||||
|
||||
az login --identity
|
||||
|
||||
# Config azure blob storage
|
||||
AZURE_ACCOUNT_NAME="${storageAccountName}"
|
||||
AZURE_ACCOUNT_KEY=$(az storage account keys list --account-name ${storageAccountName} --query '[0].value' -o tsv)
|
||||
AZURE_CONTAINER_NAME="${storageAccountContainerName}"
|
||||
|
||||
sed -i "s|AZURE_ACCOUNT_NAME=.*|AZURE_ACCOUNT_NAME=$AZURE_ACCOUNT_NAME|" "${CONFIG_DIR}/openvidu.env"
|
||||
sed -i "s|AZURE_ACCOUNT_KEY=.*|AZURE_ACCOUNT_KEY=$AZURE_ACCOUNT_KEY|" "${CONFIG_DIR}/openvidu.env"
|
||||
sed -i "s|AZURE_CONTAINER_NAME=.*|AZURE_CONTAINER_NAME=$AZURE_CONTAINER_NAME|" "${CONFIG_DIR}/openvidu.env"
|
||||
'''
|
||||
|
||||
var installScriptMaster = reduce(
|
||||
items(stringInterpolationParamsMaster),
|
||||
{ value: installScriptTemplateMaster },
|
||||
|
@ -914,6 +934,18 @@ var store_secretScriptMaster = reduce(
|
|||
(curr, next) => { value: replace(curr.value, '\${${next.key}}', next.value) }
|
||||
).value
|
||||
|
||||
var blobStorageParams = {
|
||||
storageAccountName: storageAccount.name
|
||||
storageAccountKey: listKeys(storageAccount.id, '2021-04-01').keys[0].value
|
||||
storageAccountContainerName: isEmptyContainerName ? 'openvidu-appdata' : '${containerName}'
|
||||
}
|
||||
|
||||
var config_blobStorageScript = reduce(
|
||||
items(blobStorageParams),
|
||||
{ value: config_blobStorageTemplate },
|
||||
(curr, next) => { value: replace(curr.value, '\${${next.key}}', next.value) }
|
||||
).value
|
||||
|
||||
var base64installMaster = base64(installScriptMaster)
|
||||
var base64after_installMaster = base64(after_installScriptMaster)
|
||||
var base64update_config_from_secretMaster = base64(update_config_from_secretScriptMaster)
|
||||
|
@ -922,6 +954,7 @@ var base64get_value_from_configMaster = base64(get_value_from_configScriptMaster
|
|||
var base64store_secretMaster = base64(store_secretScriptMaster)
|
||||
var base64check_app_readyMaster = base64(check_app_readyScriptMaster)
|
||||
var base64restartMaster = base64(restartScriptMaster)
|
||||
var base64config_blobStorage = base64(config_blobStorageScript)
|
||||
|
||||
var userDataParamsMasterNode = {
|
||||
base64install: base64installMaster
|
||||
|
@ -932,6 +965,7 @@ var userDataParamsMasterNode = {
|
|||
base64store_secret: base64store_secretMaster
|
||||
base64check_app_ready: base64check_app_readyMaster
|
||||
base64restart: base64restartMaster
|
||||
base64config_blobStorage: base64config_blobStorage
|
||||
keyVaultName: keyVaultName
|
||||
storageAccountName: storageAccount.name
|
||||
}
|
||||
|
@ -973,6 +1007,9 @@ chmod +x /usr/local/bin/check_app_ready.sh
|
|||
echo ${base64restart} | base64 -d > /usr/local/bin/restart.sh
|
||||
chmod +x /usr/local/bin/restart.sh
|
||||
|
||||
echo ${base64config_blobStorage} | base64 -d > /usr/local/bin/config_blobStorage.sh
|
||||
chmod +x /usr/local/bin/config_blobStorage.sh
|
||||
|
||||
# Install azure cli
|
||||
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
|
||||
|
||||
|
@ -985,6 +1022,9 @@ export HOME="/root"
|
|||
# Install OpenVidu
|
||||
/usr/local/bin/install.sh || { echo "[OpenVidu] error installing OpenVidu"; exit 1; }
|
||||
|
||||
#Config blob storage
|
||||
/usr/local/bin/config_blobStorage.sh || { echo "[OpenVidu] error configuring Blob Storage"; exit 1; }
|
||||
|
||||
# Start OpenVidu
|
||||
systemctl start openvidu || { echo "[OpenVidu] error starting OpenVidu"; exit 1; }
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue