Skip to content

Commit b214426

Browse files
committed
Synchronize repo from Repoman
1 parent 6ae8101 commit b214426

30 files changed

+341
-358
lines changed

.azdo/pipelines/azure-dev.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ steps:
2020
AZURE_SUBSCRIPTION_ID: $(AZURE_SUBSCRIPTION_ID)
2121
AZURE_ENV_NAME: $(AZURE_ENV_NAME)
2222
AZURE_LOCATION: $(AZURE_LOCATION)
23-
ARM_TENANT_ID: $(ARM_TENANT_ID)
24-
ARM_CLIENT_ID: $(ARM_CLIENT_ID)
25-
ARM_CLIENT_SECRET: $(ARM_CLIENT_SECRET)
23+
2624
- task: AzureCLI@2
2725
displayName: Azure Dev Deploy
2826
inputs:

.devcontainer/devcontainer.json

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,19 @@
77
}
88
},
99
"features": {
10-
"github-cli": "2",
11-
"azure-cli": "2.38",
12-
"dotnet": "6.0",
13-
"docker-from-docker": "20.10",
14-
"node": {
10+
"ghcr.io/devcontainers/features/azure-cli:1": {
11+
"version": "2.38"
12+
},
13+
"ghcr.io/devcontainers/features/docker-from-docker:1": {
14+
"version": "20.10"
15+
},
16+
"ghcr.io/devcontainers/features/dotnet:1": {
17+
"version": "6.0"
18+
},
19+
"ghcr.io/devcontainers/features/github-cli:1": {
20+
"version": "2"
21+
},
22+
"ghcr.io/devcontainers/features/node:1": {
1523
"version": "16",
1624
"nodeGypDependencies": false
1725
}

infra/app/api.bicep

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,33 @@
1-
param environmentName string
1+
param name string
22
param location string = resourceGroup().location
3+
param tags object = {}
34

45
param allowedOrigins array = []
6+
param appCommandLine string = ''
57
param applicationInsightsName string = ''
68
param appServicePlanId string
79
param appSettings object = {}
810
param keyVaultName string
911
param serviceName string = 'api'
1012

1113
module api '../core/host/appservice.bicep' = {
12-
name: '${serviceName}-appservice-dotnet-module'
14+
name: '${name}-app-module'
1315
params: {
14-
environmentName: environmentName
16+
name: name
1517
location: location
18+
tags: union(tags, { 'azd-service-name': serviceName })
1619
allowedOrigins: allowedOrigins
20+
appCommandLine: appCommandLine
1721
applicationInsightsName: applicationInsightsName
1822
appServicePlanId: appServicePlanId
1923
appSettings: appSettings
2024
keyVaultName: keyVaultName
2125
runtimeName: 'dotnetcore'
2226
runtimeVersion: '6.0'
2327
scmDoBuildDuringDeployment: false
24-
serviceName: serviceName
2528
}
2629
}
2730

28-
output API_IDENTITY_PRINCIPAL_ID string = api.outputs.identityPrincipalId
29-
output API_NAME string = api.outputs.name
30-
output API_URI string = api.outputs.uri
31+
output SERVICE_API_IDENTITY_PRINCIPAL_ID string = api.outputs.identityPrincipalId
32+
output SERVICE_API_NAME string = api.outputs.name
33+
output SERVICE_API_URI string = api.outputs.uri

infra/app/db.bicep

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
1-
param environmentName string
1+
param name string
22
param location string = resourceGroup().location
3+
param tags object = {}
34

4-
param databaseName string = 'ToDo'
5+
param databaseName string = ''
56
param keyVaultName string
67

78
@secure()
89
param sqlAdminPassword string
910
@secure()
1011
param appUserPassword string
1112

13+
// Because databaseName is optional in main.bicep, we make sure the database name is set here.
14+
var defaultDatabaseName = 'Todo'
15+
var actualDatabaseName = !empty(databaseName) ? databaseName : defaultDatabaseName
16+
1217
module sqlServer '../core/database/sqlserver/sqlserver.bicep' = {
1318
name: 'sqlserver'
1419
params: {
15-
environmentName: environmentName
20+
name: name
1621
location: location
17-
dbName: databaseName
22+
tags: tags
23+
databaseName: actualDatabaseName
1824
keyVaultName: keyVaultName
1925
sqlAdminPassword: sqlAdminPassword
2026
appUserPassword: appUserPassword
2127
}
2228
}
2329

24-
output sqlConnectionStringKey string = sqlServer.outputs.sqlConnectionStringKey
25-
output sqlDatabaseName string = databaseName
30+
output connectionStringKey string = sqlServer.outputs.connectionStringKey
31+
output databaseName string = sqlServer.outputs.databaseName

infra/app/web.bicep

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
param environmentName string
1+
param name string
22
param location string = resourceGroup().location
3-
3+
param tags object = {}
44
param serviceName string = 'web'
55
param appCommandLine string = 'pm2 serve /home/site/wwwroot --no-daemon --spa'
66
param applicationInsightsName string = ''
77
param appServicePlanId string
88
param appSettings object = {}
99

1010
module web '../core/host/appservice.bicep' = {
11-
name: '${serviceName}-appservice-node-module'
11+
name: '${name}-deployment'
1212
params: {
13-
environmentName: environmentName
13+
name: name
1414
location: location
15-
serviceName: serviceName
1615
appCommandLine: appCommandLine
1716
applicationInsightsName: applicationInsightsName
1817
appServicePlanId: appServicePlanId
1918
appSettings: appSettings
2019
runtimeName: 'node'
2120
runtimeVersion: '16-lts'
21+
tags: union(tags, { 'azd-service-name': serviceName })
2222
}
2323
}
2424

25-
output WEB_IDENTITY_PRINCIPAL_ID string = web.outputs.identityPrincipalId
26-
output WEB_NAME string = web.outputs.name
27-
output WEB_URI string = web.outputs.uri
25+
output SERVICE_WEB_IDENTITY_PRINCIPAL_ID string = web.outputs.identityPrincipalId
26+
output SERVICE_WEB_NAME string = web.outputs.name
27+
output SERVICE_WEB_URI string = web.outputs.uri

infra/core/database/cosmos/cosmos-account.bicep

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
param environmentName string
1+
param name string
22
param location string = resourceGroup().location
3+
param tags object = {}
34

4-
param cosmosConnectionStringKey string = 'AZURE-COSMOS-CONNECTION-STRING'
5+
param connectionStringKey string = 'AZURE-COSMOS-CONNECTION-STRING'
56
param keyVaultName string
7+
68
@allowed([ 'GlobalDocumentDB', 'MongoDB', 'Parse' ])
79
param kind string
810

9-
var abbrs = loadJsonContent('../../../abbreviations.json')
10-
var resourceToken = toLower(uniqueString(subscription().id, environmentName, location))
11-
var tags = { 'azd-env-name': environmentName }
12-
13-
resource cosmos 'Microsoft.DocumentDB/databaseAccounts@2022-05-15' = {
14-
name: '${abbrs.documentDBDatabaseAccounts}${resourceToken}'
11+
resource cosmos 'Microsoft.DocumentDB/databaseAccounts@2022-08-15' = {
12+
name: name
1513
kind: kind
1614
location: location
1715
tags: tags
@@ -34,7 +32,7 @@ resource cosmos 'Microsoft.DocumentDB/databaseAccounts@2022-05-15' = {
3432

3533
resource cosmosConnectionString 'Microsoft.KeyVault/vaults/secrets@2022-07-01' = {
3634
parent: keyVault
37-
name: cosmosConnectionStringKey
35+
name: connectionStringKey
3836
properties: {
3937
value: cosmos.listConnectionStrings().connectionStrings[0].connectionString
4038
}
@@ -44,6 +42,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' existing = {
4442
name: keyVaultName
4543
}
4644

47-
output cosmosEndpoint string = cosmos.properties.documentEndpoint
48-
output cosmosConnectionStringKey string = cosmosConnectionStringKey
49-
output cosmosResourceId string = cosmos.id
45+
output connectionStringKey string = connectionStringKey
46+
output endpoint string = cosmos.properties.documentEndpoint
47+
output id string = cosmos.id
48+
output name string = cosmos.name
Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
1-
param environmentName string
1+
param name string
22
param location string = resourceGroup().location
3+
param tags object = {}
34

45
param keyVaultName string
6+
param connectionStringKey string = 'AZURE-COSMOS-CONNECTION-STRING'
57

68
module cosmos '../../cosmos/cosmos-account.bicep' = {
79
name: 'cosmos-account'
810
params: {
9-
environmentName: environmentName
11+
name: name
1012
location: location
13+
connectionStringKey: connectionStringKey
1114
keyVaultName: keyVaultName
1215
kind: 'MongoDB'
16+
tags: tags
1317
}
1418
}
1519

16-
output cosmosEndpoint string = cosmos.outputs.cosmosEndpoint
17-
output cosmosConnectionStringKey string = cosmos.outputs.cosmosConnectionStringKey
18-
output cosmosResourceId string = cosmos.outputs.cosmosResourceId
20+
output connectionStringKey string = cosmos.outputs.connectionStringKey
21+
output endpoint string = cosmos.outputs.endpoint
22+
output id string = cosmos.outputs.id
Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
1-
param environmentName string
1+
param accountName string
2+
param databaseName string
23
param location string = resourceGroup().location
4+
param tags object = {}
35

46
param collections array = []
5-
param cosmosDatabaseName string
6-
param cosmosConnectionStringKey string = 'AZURE-COSMOS-CONNECTION-STRING'
7+
param connectionStringKey string = 'AZURE-COSMOS-CONNECTION-STRING'
78
param keyVaultName string
89

9-
var abbrs = loadJsonContent('../../../../abbreviations.json')
10-
var resourceToken = toLower(uniqueString(subscription().id, environmentName, location))
11-
1210
module cosmos 'cosmos-mongo-account.bicep' = {
1311
name: 'cosmos-mongo-account'
1412
params: {
15-
environmentName: environmentName
13+
name: accountName
1614
location: location
1715
keyVaultName: keyVaultName
16+
tags: tags
17+
connectionStringKey: connectionStringKey
1818
}
1919
}
2020

21-
resource database 'Microsoft.DocumentDB/databaseAccounts/mongodbDatabases@2022-05-15' = {
22-
name: '${abbrs.documentDBDatabaseAccounts}${resourceToken}/${cosmosDatabaseName}'
21+
resource database 'Microsoft.DocumentDB/databaseAccounts/mongodbDatabases@2022-08-15' = {
22+
name: '${accountName}/${databaseName}'
23+
tags: tags
2324
properties: {
24-
resource: { id: cosmosDatabaseName }
25+
resource: { id: databaseName }
2526
}
2627

2728
resource list 'collections' = [for collection in collections: {
@@ -40,6 +41,6 @@ resource database 'Microsoft.DocumentDB/databaseAccounts/mongodbDatabases@2022-0
4041
]
4142
}
4243

43-
output cosmosConnectionStringKey string = cosmosConnectionStringKey
44-
output cosmosDatabaseName string = cosmosDatabaseName
45-
output cosmosEndpoint string = cosmos.outputs.cosmosEndpoint
44+
output connectionStringKey string = connectionStringKey
45+
output databaseName string = databaseName
46+
output endpoint string = cosmos.outputs.endpoint
Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
1-
param environmentName string
1+
param name string
22
param location string = resourceGroup().location
3+
param tags object = {}
34

45
param keyVaultName string
56

67
module cosmos '../../cosmos/cosmos-account.bicep' = {
78
name: 'cosmos-account'
89
params: {
9-
environmentName: environmentName
10+
name: name
1011
location: location
12+
tags: tags
1113
keyVaultName: keyVaultName
1214
kind: 'GlobalDocumentDB'
1315
}
1416
}
1517

16-
output cosmosEndpoint string = cosmos.outputs.cosmosEndpoint
17-
output cosmosConnectionStringKey string = cosmos.outputs.cosmosConnectionStringKey
18-
output cosmosResourceId string = cosmos.outputs.cosmosResourceId
18+
output connectionStringKey string = cosmos.outputs.connectionStringKey
19+
output endpoint string = cosmos.outputs.endpoint
20+
output id string = cosmos.outputs.id
21+
output name string = cosmos.outputs.name

infra/core/database/cosmos/sql/cosmos-sql-db.bicep

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
1-
param environmentName string
1+
param accountName string
2+
param databaseName string
23
param location string = resourceGroup().location
4+
param tags object = {}
35

46
param containers array = []
5-
param cosmosDatabaseName string
67
param keyVaultName string
78
param principalIds array = []
89

9-
var abbrs = loadJsonContent('../../../../abbreviations.json')
10-
var resourceToken = toLower(uniqueString(subscription().id, environmentName, location))
11-
1210
module cosmos 'cosmos-sql-account.bicep' = {
1311
name: 'cosmos-sql-account'
1412
params: {
15-
environmentName: environmentName
13+
name: accountName
1614
location: location
15+
tags: tags
1716
keyVaultName: keyVaultName
1817
}
1918
}
2019

2120
resource database 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2022-05-15' = {
22-
name: '${abbrs.documentDBDatabaseAccounts}${resourceToken}/${cosmosDatabaseName}'
21+
name: '${accountName}/${databaseName}'
2322
properties: {
24-
resource: { id: cosmosDatabaseName }
23+
resource: { id: databaseName }
2524
}
2625

2726
resource list 'containers' = [for container in containers: {
@@ -43,8 +42,7 @@ resource database 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2022-05-15
4342
module roleDefintion 'cosmos-sql-role-def.bicep' = {
4443
name: 'cosmos-sql-role-definition'
4544
params: {
46-
environmentName: environmentName
47-
location: location
45+
accountName: accountName
4846
}
4947
dependsOn: [
5048
cosmos
@@ -57,9 +55,8 @@ module roleDefintion 'cosmos-sql-role-def.bicep' = {
5755
module userRole 'cosmos-sql-role-assign.bicep' = [for principalId in principalIds: if (!empty(principalId)) {
5856
name: 'cosmos-sql-user-role-${uniqueString(principalId)}'
5957
params: {
60-
environmentName: environmentName
61-
location: location
62-
cosmosRoleDefinitionId: roleDefintion.outputs.cosmosSqlRoleDefinitionId
58+
accountName: accountName
59+
roleDefinitionId: roleDefintion.outputs.id
6360
principalId: principalId
6461
}
6562
dependsOn: [
@@ -68,8 +65,9 @@ module userRole 'cosmos-sql-role-assign.bicep' = [for principalId in principalId
6865
]
6966
}]
7067

71-
output cosmosConnectionStringKey string = cosmos.outputs.cosmosConnectionStringKey
72-
output cosmosDatabaseName string = cosmosDatabaseName
73-
output cosmosEndpoint string = cosmos.outputs.cosmosEndpoint
74-
output cosmosResourceId string = cosmos.outputs.cosmosResourceId
75-
output cosmosSqlRoleDefinitionId string = roleDefintion.outputs.cosmosSqlRoleDefinitionId
68+
output accountId string = cosmos.outputs.id
69+
output accountName string = cosmos.outputs.name
70+
output connectionStringKey string = cosmos.outputs.connectionStringKey
71+
output databaseName string = databaseName
72+
output endpoint string = cosmos.outputs.endpoint
73+
output roleDefinitionId string = roleDefintion.outputs.id

0 commit comments

Comments
 (0)