Files
azure-examples/.bicep/main.bicep
2026-01-28 10:29:49 -06:00

59 lines
1.9 KiB
Bicep

targetScope = 'subscription'
@description('The name of the resource group')
param resourceGroupName string = 'rg-blazor-grafana'
@description('The location for all resources')
param location string = 'eastus'
@description('The name of the App Service Plan')
param appServicePlanName string = 'asp-blazor-app'
@description('The name of the Web App')
param webAppName string = 'webapp-blazor-${uniqueString(resourceGroupName)}'
@description('The name of the Application Insights instance')
param appInsightsName string = 'ai-blazor-app'
@description('The name of the Log Analytics Workspace')
param logAnalyticsWorkspaceName string = 'law-blazor-app'
// Create the resource group
resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: resourceGroupName
location: location
}
// Deploy the logging and monitoring infrastructure
module monitoring 'modules/monitoring.bicep' = {
scope: resourceGroup
name: 'monitoring-deployment'
params: {
location: location
appInsightsName: appInsightsName
logAnalyticsWorkspaceName: logAnalyticsWorkspaceName
}
}
// Deploy the App Service infrastructure
module appService 'modules/appService.bicep' = {
scope: resourceGroup
name: 'appservice-deployment'
params: {
location: location
appServicePlanName: appServicePlanName
webAppName: webAppName
appInsightsInstrumentationKey: monitoring.outputs.instrumentationKey
appInsightsConnectionString: monitoring.outputs.connectionString
}
}
// Outputs
output resourceGroupName string = resourceGroup.name
output webAppName string = appService.outputs.webAppName
output webAppUrl string = appService.outputs.webAppUrl
output appInsightsName string = monitoring.outputs.appInsightsName
output logAnalyticsWorkspaceId string = monitoring.outputs.workspaceId
output grafanaName string = monitoring.outputs.grafanaName
output grafanaEndpoint string = monitoring.outputs.grafanaEndpoint