mirror of https://github.com/OpenVidu/openvidu.git
openvidu-deployment: azure - fixing .bicep file to work with the new CUID
parent
1b2af77196
commit
743b05911c
|
@ -16,10 +16,7 @@ and an Elastic IP, you can use this option to generate a Let's Encrypt certifica
|
||||||
param certificateType string = 'selfsigned'
|
param certificateType string = 'selfsigned'
|
||||||
|
|
||||||
@description('Previously created Public IP address for the OpenVidu Deployment. Blank will generate a public IP')
|
@description('Previously created Public IP address for the OpenVidu Deployment. Blank will generate a public IP')
|
||||||
param publicIpAddress string = ''
|
param publicIpAddressObject object
|
||||||
|
|
||||||
@description('Name of the PublicIPAddress resource in your azure if you have a resource of publicIPAddress')
|
|
||||||
param publicIpAddressResourceName string = ''
|
|
||||||
|
|
||||||
@description('Domain name for the OpenVidu Deployment. Blank will generate default domain')
|
@description('Domain name for the OpenVidu Deployment. Blank will generate default domain')
|
||||||
param domainName string = ''
|
param domainName string = ''
|
||||||
|
@ -160,32 +157,15 @@ param adminUsername string
|
||||||
|
|
||||||
@description('SSH Key or password for the Virtual Machine.')
|
@description('SSH Key or password for the Virtual Machine.')
|
||||||
@secure()
|
@secure()
|
||||||
param adminSshKey string
|
param adminSshKey object
|
||||||
|
|
||||||
/*------------------------------------------- VARIABLES AND VALIDATIONS -------------------------------------------*/
|
/*------------------------------------------- VARIABLES AND VALIDATIONS -------------------------------------------*/
|
||||||
|
|
||||||
//Condition for ipValid if is filled
|
//Condition for ipValid if is filled
|
||||||
var isEmptyIp = publicIpAddress == ''
|
var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none'
|
||||||
var ipSegments = split(publicIpAddress, '.')
|
|
||||||
var isFourSegments = length(ipSegments) == 4
|
|
||||||
var seg1valid = isEmptyIp ? true : int(ipSegments[0]) >= 0 && int(ipSegments[0]) <= 255
|
|
||||||
var seg2valid = isEmptyIp ? true : int(ipSegments[1]) >= 0 && int(ipSegments[1]) <= 255
|
|
||||||
var seg3valid = isEmptyIp ? true : int(ipSegments[2]) >= 0 && int(ipSegments[2]) <= 255
|
|
||||||
var seg4valid = isEmptyIp ? true : int(ipSegments[3]) >= 0 && int(ipSegments[3]) <= 255
|
|
||||||
var isValidIP = !isEmptyIp && isFourSegments && seg1valid && seg2valid && seg3valid && seg4valid
|
|
||||||
|
|
||||||
//Condition for the domain name
|
//Condition for the domain name
|
||||||
var isEmptyDomain = domainName == ''
|
var isEmptyDomain = domainName == ''
|
||||||
var domainParts = split(domainName, '.')
|
|
||||||
var validNumberParts = length(domainParts) >= 2
|
|
||||||
var allPartsValid = [
|
|
||||||
for part in domainParts: length(part) >= 1 && length(part) <= 63 && !empty(part) && part == toLower(part) && !contains(
|
|
||||||
part,
|
|
||||||
'--'
|
|
||||||
) && empty(replace(part, '[a-z0-9-]', ''))
|
|
||||||
]
|
|
||||||
|
|
||||||
var isDomainValid = !isEmptyDomain && validNumberParts && !contains(allPartsValid, false)
|
|
||||||
|
|
||||||
//Variables for deployment
|
//Variables for deployment
|
||||||
var networkSettings = {
|
var networkSettings = {
|
||||||
|
@ -212,7 +192,7 @@ var openviduVMSettings = {
|
||||||
publicKeys: [
|
publicKeys: [
|
||||||
{
|
{
|
||||||
path: '/home/${adminUsername}/.ssh/authorized_keys'
|
path: '/home/${adminUsername}/.ssh/authorized_keys'
|
||||||
keyData: adminSshKey
|
keyData: adminSshKey.sshPublicKey
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -859,7 +839,6 @@ resource openviduServer 'Microsoft.Compute/virtualMachines@2023-09-01' = {
|
||||||
osProfile: {
|
osProfile: {
|
||||||
computerName: openviduVMSettings.vmName
|
computerName: openviduVMSettings.vmName
|
||||||
adminUsername: adminUsername
|
adminUsername: adminUsername
|
||||||
adminPassword: adminSshKey
|
|
||||||
linuxConfiguration: openviduVMSettings.linuxConfiguration
|
linuxConfiguration: openviduVMSettings.linuxConfiguration
|
||||||
}
|
}
|
||||||
userData: base64(userData)
|
userData: base64(userData)
|
||||||
|
@ -898,8 +877,16 @@ resource publicIP_OV 'Microsoft.Network/publicIPAddresses@2023-11-01' = if (isEm
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource publicIP_OV_ifNotEmpty 'Microsoft.Network/publicIPAddresses@2023-11-01' existing = if (!isEmptyIp == true) {
|
var ipExists = publicIpAddressObject.newOrExisting == 'existing'
|
||||||
name: publicIpAddressResourceName
|
|
||||||
|
resource publicIP_OV_ifExisting 'Microsoft.Network/publicIPAddresses@2023-11-01' existing = if (ipExists == true) {
|
||||||
|
name: publicIpAddressObject.name
|
||||||
|
}
|
||||||
|
|
||||||
|
var ipNew = publicIpAddressObject.newOrExisting == 'new'
|
||||||
|
|
||||||
|
resource publicIP_OV_ifNew 'Microsoft.Network/publicIPAddresses@2023-11-01' existing = if (ipNew == true) {
|
||||||
|
name: publicIpAddressObject.name
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the virtual network
|
// Create the virtual network
|
||||||
|
@ -941,7 +928,7 @@ resource netInterface_OV 'Microsoft.Network/networkInterfaces@2023-11-01' = {
|
||||||
id: resourceId('Microsoft.Network/virtualNetworks/subnets', vnet_OV.name, networkSettings.subnetName)
|
id: resourceId('Microsoft.Network/virtualNetworks/subnets', vnet_OV.name, networkSettings.subnetName)
|
||||||
}
|
}
|
||||||
publicIPAddress: {
|
publicIPAddress: {
|
||||||
id: isEmptyIp ? publicIP_OV.id : publicIP_OV_ifNotEmpty.id
|
id: isEmptyIp ? publicIP_OV.id : ipNew ? publicIP_OV_ifNew.id : publicIP_OV_ifExisting.id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1135,19 +1122,3 @@ resource blobContainer 'Microsoft.Storage/storageAccounts/blobServices/container
|
||||||
publicAccess: 'None'
|
publicAccess: 'None'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------------------------------------- OUTPUTS -------------------------------------------*/
|
|
||||||
|
|
||||||
output ipValidationStatus string = isValidIP ? 'IP address is valid' : 'IP address not valid'
|
|
||||||
|
|
||||||
output domainValidationStatus string = isDomainValid ? 'Domain is valid' : 'Domain is not valid'
|
|
||||||
|
|
||||||
//Condition if owncert is selected
|
|
||||||
output ownCertValidationStatus string = (certificateType == 'owncert' && ownPrivateCertificate != '' && ownPublicCertificate != '')
|
|
||||||
? 'owncert selected and valid'
|
|
||||||
: 'You need to fill \'Own Public Certificate\' and \'Own Private Certificate\''
|
|
||||||
|
|
||||||
//Condition if letsEncrypt is selected
|
|
||||||
output letsEncryptValidationStatus string = (certificateType == 'letsencrypt' && letsEncryptEmail != '')
|
|
||||||
? 'letsEncrypt selected and valid'
|
|
||||||
: 'You need to fill \'Lets Encrypt Email\''
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -70,7 +70,7 @@
|
||||||
"visible": true
|
"visible": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "publicIpAddress",
|
"name": "publicIpAddressObject",
|
||||||
"type": "Microsoft.Network.PublicIpAddressCombo",
|
"type": "Microsoft.Network.PublicIpAddressCombo",
|
||||||
"label": {
|
"label": {
|
||||||
"publicIpAddress": "Public IP address"
|
"publicIpAddress": "Public IP address"
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
"publicIpAddress": "Previously created Public IP address for the OpenVidu Deployment. Blank will generate a public IP"
|
"publicIpAddress": "Previously created Public IP address for the OpenVidu Deployment. Blank will generate a public IP"
|
||||||
},
|
},
|
||||||
"defaultValue": {
|
"defaultValue": {
|
||||||
"publicIpAddressName": ""
|
"publicIpAddressName": "None"
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"hideNone": false,
|
"hideNone": false,
|
||||||
|
@ -358,7 +358,7 @@
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"stackName": "[steps('basics').stackName]",
|
"stackName": "[steps('basics').stackName]",
|
||||||
"certificateType": "[steps('parameters SSL').certificateType]",
|
"certificateType": "[steps('parameters SSL').certificateType]",
|
||||||
"publicIpAddress": "[steps('parameters SSL').publicIpAddress]",
|
"publicIpAddressObject": "[steps('parameters SSL').publicIpAddressObject]",
|
||||||
"domainName": "[steps('parameters SSL').domainName]",
|
"domainName": "[steps('parameters SSL').domainName]",
|
||||||
"ownPublicCertificate": "[steps('parameters SSL').ownPublicCertificate]",
|
"ownPublicCertificate": "[steps('parameters SSL').ownPublicCertificate]",
|
||||||
"ownPrivateCertificate": "[steps('parameters SSL').ownPrivateCertificate]",
|
"ownPrivateCertificate": "[steps('parameters SSL').ownPrivateCertificate]",
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"_generator": {
|
"_generator": {
|
||||||
"name": "bicep",
|
"name": "bicep",
|
||||||
"version": "0.35.1.17967",
|
"version": "0.35.1.17967",
|
||||||
"templateHash": "3871475618690089339"
|
"templateHash": "5324001294294208652"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -400,7 +400,7 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"defaultValue": "",
|
"defaultValue": "",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Name of the bucket where OpenVidu will store the recordings. If not specified, a default bucket will be created."
|
"description": "Name of the bucket where OpenVidu will store the recordings if a new Storage account is being creating. If not specified, a default bucket will be created. If you want to use an existing storage account, fill this parameter with the name of the container where the recordings are stored."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"_generator": {
|
"_generator": {
|
||||||
"name": "bicep",
|
"name": "bicep",
|
||||||
"version": "0.35.1.17967",
|
"version": "0.35.1.17967",
|
||||||
"templateHash": "16513973763938354606"
|
"templateHash": "15246851867985685865"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -406,7 +406,7 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"defaultValue": "",
|
"defaultValue": "",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Name of the bucket where OpenVidu will store the recordings if a new Storage account is being creating. If not specified, a default bucket will be created."
|
"description": "Name of the bucket where OpenVidu will store the recordings if a new Storage account is being creating. If not specified, a default bucket will be created. If you want to use an existing storage account, fill this parameter with the name of the container where the recordings are stored."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue