125 lines
2.7 KiB
Bicep
125 lines
2.7 KiB
Bicep
@description('The location for all resources')
|
|
param location string
|
|
|
|
@description('The name of the App Service Plan')
|
|
param appServicePlanName string
|
|
|
|
@description('The name of the Web App')
|
|
param webAppName string
|
|
|
|
@description('Application Insights Instrumentation Key')
|
|
param appInsightsInstrumentationKey string
|
|
|
|
@description('Application Insights Connection String')
|
|
param appInsightsConnectionString string
|
|
|
|
// Create App Service Plan
|
|
resource appServicePlan 'Microsoft.Web/serverfarms@2022-09-01' = {
|
|
name: appServicePlanName
|
|
location: location
|
|
sku: {
|
|
name: 'B1'
|
|
tier: 'Basic'
|
|
size: 'B1'
|
|
family: 'B'
|
|
capacity: 1
|
|
}
|
|
kind: 'linux'
|
|
properties: {
|
|
reserved: true
|
|
}
|
|
}
|
|
|
|
// Create Web App
|
|
resource webApp 'Microsoft.Web/sites@2022-09-01' = {
|
|
name: webAppName
|
|
location: location
|
|
kind: 'app,linux'
|
|
properties: {
|
|
serverFarmId: appServicePlan.id
|
|
httpsOnly: true
|
|
siteConfig: {
|
|
linuxFxVersion: 'DOTNETCORE|8.0'
|
|
alwaysOn: true
|
|
minTlsVersion: '1.2'
|
|
ftpsState: 'Disabled'
|
|
http20Enabled: true
|
|
appSettings: [
|
|
{
|
|
name: 'APPLICATIONINSIGHTS_CONNECTION_STRING'
|
|
value: appInsightsConnectionString
|
|
}
|
|
{
|
|
name: 'ApplicationInsightsAgent_EXTENSION_VERSION'
|
|
value: '~3'
|
|
}
|
|
{
|
|
name: 'XDT_MicrosoftApplicationInsights_Mode'
|
|
value: 'recommended'
|
|
}
|
|
{
|
|
name: 'APPINSIGHTS_INSTRUMENTATIONKEY'
|
|
value: appInsightsInstrumentationKey
|
|
}
|
|
{
|
|
name: 'ASPNETCORE_ENVIRONMENT'
|
|
value: 'Production'
|
|
}
|
|
{
|
|
name: 'OTEL_SDK_DISABLED'
|
|
value: 'false'
|
|
}
|
|
{
|
|
name: 'OTEL_TRACES_SAMPLER'
|
|
value: 'always_on'
|
|
}
|
|
{
|
|
name: 'OTEL_METRICS_EXPORTER'
|
|
value: 'otlp'
|
|
}
|
|
{
|
|
name: 'OTEL_EXPORTER_OTLP_ENDPOINT'
|
|
value: 'http://localhost:4317'
|
|
}
|
|
]
|
|
metadata: [
|
|
{
|
|
name: 'CURRENT_STACK'
|
|
value: 'dotnet'
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
// Enable detailed error messages and logging
|
|
resource webAppLogs 'Microsoft.Web/sites/config@2022-09-01' = {
|
|
parent: webApp
|
|
name: 'logs'
|
|
properties: {
|
|
applicationLogs: {
|
|
fileSystem: {
|
|
level: 'Information'
|
|
}
|
|
}
|
|
httpLogs: {
|
|
fileSystem: {
|
|
retentionInMb: 35
|
|
retentionInDays: 7
|
|
enabled: true
|
|
}
|
|
}
|
|
failedRequestsTracing: {
|
|
enabled: true
|
|
}
|
|
detailedErrorMessages: {
|
|
enabled: true
|
|
}
|
|
}
|
|
}
|
|
|
|
// Outputs
|
|
output webAppName string = webApp.name
|
|
output webAppUrl string = 'https://${webApp.properties.defaultHostName}'
|
|
output webAppId string = webApp.id
|