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
|
az login --identity
|
||||||
|
|
||||||
# Config azure blob storage
|
# Config azure blob storage
|
||||||
EXTERNAL_S3_ACCOUNT_NAME="${storageAccountName}"
|
AZURE_ACCOUNT_NAME="${storageAccountName}"
|
||||||
EXTERNAL_S3_ACCOUNT_KEY=$(az storage account keys list --account-name ${storageAccountName} --query '[0].value' -o tsv)
|
AZURE_ACCOUNT_KEY=$(az storage account keys list --account-name ${storageAccountName} --query '[0].value' -o tsv)
|
||||||
EXTERNAL_S3_CONTAINER_NAME="${storageAccountContainerName}"
|
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|AZURE_ACCOUNT_NAME=.*|AZURE_ACCOUNT_NAME=$AZURE_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|AZURE_ACCOUNT_KEY=.*|AZURE_ACCOUNT_KEY=$AZURE_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_CONTAINER_NAME=.*|AZURE_CONTAINER_NAME=$AZURE_CONTAINER_NAME|" "${CONFIG_DIR}/openvidu.env"
|
||||||
'''
|
'''
|
||||||
|
|
||||||
var formattedTemplateInstallScript = reduce(
|
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 -------------------------------------------*/
|
/*------------------------------------------- NETWORK -------------------------------------------*/
|
||||||
|
|
||||||
//Create publicIPAddress if convinient
|
//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
|
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(
|
var installScriptMaster = reduce(
|
||||||
items(stringInterpolationParamsMaster),
|
items(stringInterpolationParamsMaster),
|
||||||
{ value: installScriptTemplateMaster },
|
{ value: installScriptTemplateMaster },
|
||||||
|
@ -914,6 +934,18 @@ var store_secretScriptMaster = reduce(
|
||||||
(curr, next) => { value: replace(curr.value, '\${${next.key}}', next.value) }
|
(curr, next) => { value: replace(curr.value, '\${${next.key}}', next.value) }
|
||||||
).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 base64installMaster = base64(installScriptMaster)
|
||||||
var base64after_installMaster = base64(after_installScriptMaster)
|
var base64after_installMaster = base64(after_installScriptMaster)
|
||||||
var base64update_config_from_secretMaster = base64(update_config_from_secretScriptMaster)
|
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 base64store_secretMaster = base64(store_secretScriptMaster)
|
||||||
var base64check_app_readyMaster = base64(check_app_readyScriptMaster)
|
var base64check_app_readyMaster = base64(check_app_readyScriptMaster)
|
||||||
var base64restartMaster = base64(restartScriptMaster)
|
var base64restartMaster = base64(restartScriptMaster)
|
||||||
|
var base64config_blobStorage = base64(config_blobStorageScript)
|
||||||
|
|
||||||
var userDataParamsMasterNode = {
|
var userDataParamsMasterNode = {
|
||||||
base64install: base64installMaster
|
base64install: base64installMaster
|
||||||
|
@ -932,6 +965,7 @@ var userDataParamsMasterNode = {
|
||||||
base64store_secret: base64store_secretMaster
|
base64store_secret: base64store_secretMaster
|
||||||
base64check_app_ready: base64check_app_readyMaster
|
base64check_app_ready: base64check_app_readyMaster
|
||||||
base64restart: base64restartMaster
|
base64restart: base64restartMaster
|
||||||
|
base64config_blobStorage: base64config_blobStorage
|
||||||
keyVaultName: keyVaultName
|
keyVaultName: keyVaultName
|
||||||
storageAccountName: storageAccount.name
|
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
|
echo ${base64restart} | base64 -d > /usr/local/bin/restart.sh
|
||||||
chmod +x /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
|
# Install azure cli
|
||||||
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
|
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
|
||||||
|
|
||||||
|
@ -985,6 +1022,9 @@ export HOME="/root"
|
||||||
# Install OpenVidu
|
# Install OpenVidu
|
||||||
/usr/local/bin/install.sh || { echo "[OpenVidu] error installing OpenVidu"; exit 1; }
|
/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
|
# Start OpenVidu
|
||||||
systemctl start openvidu || { echo "[OpenVidu] error starting OpenVidu"; exit 1; }
|
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