-
Notifications
You must be signed in to change notification settings - Fork 418
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
21 changed files
with
849 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
param location string | ||
param tags object = {} | ||
param parameters object = {} | ||
param inputs object = {} | ||
module sqlserver_containerApp 'sqlserver-containerapp.bicep' = { | ||
name: 'sqlserver-containerApp' | ||
params: { | ||
location: location | ||
sqlserver_password_value: parameters.sqlserver_password | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module mysql_containerApp 'mysql-containerapp.bicep' = { | ||
name: 'mysql-containerApp' | ||
params: { | ||
location: location | ||
mysql_password_value: parameters.mysql_password | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module redis_containerApp 'redis-containerapp.bicep' = { | ||
name: 'redis-containerApp' | ||
params: { | ||
location: location | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module postgres_containerApp 'postgres-containerapp.bicep' = { | ||
name: 'postgres-containerApp' | ||
params: { | ||
location: location | ||
postgres_password_value: parameters.postgres_password | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module rabbitmq_containerApp 'rabbitmq-containerapp.bicep' = { | ||
name: 'rabbitmq-containerApp' | ||
params: { | ||
location: location | ||
rabbitmq_password_value: parameters.rabbitmq_password | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module mongodb_containerApp 'mongodb-containerapp.bicep' = { | ||
name: 'mongodb-containerApp' | ||
params: { | ||
location: location | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module oracledatabase_containerApp 'oracledatabase-containerapp.bicep' = { | ||
name: 'oracledatabase-containerApp' | ||
params: { | ||
location: location | ||
oracledatabase_password_value: parameters.oracledatabase_password | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module kafka_containerApp 'kafka-containerapp.bicep' = { | ||
name: 'kafka-containerApp' | ||
params: { | ||
location: location | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
} | ||
} | ||
|
||
module cosmos 'cosmos.module.bicep' = { | ||
name: 'cosmos' | ||
params: { | ||
location: location | ||
keyVaultName: cosmos_kv.name | ||
} | ||
} | ||
|
||
module containerAppEnv 'containerappenv.bicep' = { | ||
name: 'containerAppEnv' | ||
params: { | ||
location: location | ||
} | ||
} | ||
|
||
module containerRegistry 'containerregistry.bicep' = { | ||
name: 'containerRegistry' | ||
params: { | ||
location: location | ||
} | ||
} | ||
|
||
module default_identity 'default-identity.bicep' = { | ||
name: 'default-identity' | ||
params: { | ||
location: location | ||
} | ||
} | ||
|
||
module servicea_containerApp 'servicea-containerapp.bicep' = { | ||
name: 'servicea-containerApp' | ||
params: { | ||
location: location | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
containerRegistry_outputs_loginServer: containerRegistry.outputs.loginServer | ||
containerRegistry_outputs_mid: containerRegistry.outputs.mid | ||
servicea_containerImage: inputs.servicea.containerImage | ||
} | ||
} | ||
|
||
module serviceb_containerApp 'serviceb-containerapp.bicep' = { | ||
name: 'serviceb-containerApp' | ||
params: { | ||
location: location | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
containerRegistry_outputs_loginServer: containerRegistry.outputs.loginServer | ||
containerRegistry_outputs_mid: containerRegistry.outputs.mid | ||
serviceb_containerImage: inputs.serviceb.containerImage | ||
} | ||
} | ||
|
||
module servicec_containerApp 'servicec-containerapp.bicep' = { | ||
name: 'servicec-containerApp' | ||
params: { | ||
location: location | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
containerRegistry_outputs_loginServer: containerRegistry.outputs.loginServer | ||
containerRegistry_outputs_mid: containerRegistry.outputs.mid | ||
servicec_containerImage: inputs.servicec.containerImage | ||
} | ||
} | ||
|
||
module workera_containerApp 'workera-containerapp.bicep' = { | ||
name: 'workera-containerApp' | ||
params: { | ||
location: location | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
containerRegistry_outputs_loginServer: containerRegistry.outputs.loginServer | ||
containerRegistry_outputs_mid: containerRegistry.outputs.mid | ||
workera_containerImage: inputs.workera.containerImage | ||
} | ||
} | ||
|
||
module integrationservicea_containerApp 'integrationservicea-containerapp.bicep' = { | ||
name: 'integrationservicea-containerApp' | ||
params: { | ||
location: location | ||
sqlserver_password_value: parameters.sqlserver_password | ||
mysql_password_value: parameters.mysql_password | ||
postgres_password_value: parameters.postgres_password | ||
rabbitmq_password_value: parameters.rabbitmq_password | ||
oracledatabase_password_value: parameters.oracledatabase_password | ||
cosmos_secretOutputs_connectionString: cosmos_kv.getSecret('connectionString') | ||
containerAppEnv_outputs_id: containerAppEnv.outputs.id | ||
containerRegistry_outputs_loginServer: containerRegistry.outputs.loginServer | ||
containerRegistry_outputs_mid: containerRegistry.outputs.mid | ||
integrationservicea_containerImage: inputs.integrationservicea.containerImage | ||
} | ||
} | ||
|
||
resource cosmos_kv 'Microsoft.KeyVault/vaults@2022-02-01-preview' = { | ||
name: 'kv-cosmos-${uniqueString(resourceGroup().id)}' | ||
location: location | ||
properties: { | ||
sku: { | ||
family: 'A' | ||
name: 'standard' | ||
} | ||
tenantId: subscription().tenantId | ||
enabledForDeployment: true | ||
accessPolicies: [] | ||
} | ||
tags: tags | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
param location string | ||
param tags object = {} | ||
|
||
var resourceToken = uniqueString(resourceGroup().id) | ||
|
||
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2022-10-01' = { | ||
name: 'law-${resourceToken}' | ||
location: location | ||
properties: { | ||
sku: { | ||
name: 'PerGB2018' | ||
} | ||
} | ||
tags: tags | ||
} | ||
|
||
resource containerAppEnvironment 'Microsoft.App/managedEnvironments@2023-05-01' = { | ||
name: 'cae-${resourceToken}' | ||
location: location | ||
properties: { | ||
appLogsConfiguration: { | ||
destination: 'log-analytics' | ||
logAnalyticsConfiguration: { | ||
customerId: logAnalyticsWorkspace.properties.customerId | ||
sharedKey: logAnalyticsWorkspace.listKeys().primarySharedKey | ||
} | ||
} | ||
} | ||
tags: tags | ||
} | ||
|
||
output id string = containerAppEnvironment.id | ||
output logAnalyticsWorkspaceId string = logAnalyticsWorkspace.id | ||
output defaultDomain string = containerAppEnvironment.properties.defaultDomain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
param location string | ||
param tags object = {} | ||
param sku string = 'Basic' | ||
param adminUserEnabled bool = true | ||
|
||
var resourceToken = uniqueString(resourceGroup().id) | ||
|
||
resource containerRegistry 'Microsoft.ContainerRegistry/registries@2023-07-01' = { | ||
name: replace('acr${resourceToken}', '-', '') | ||
location: location | ||
sku: { | ||
name: sku | ||
} | ||
properties: { | ||
adminUserEnabled: adminUserEnabled | ||
} | ||
tags: tags | ||
} | ||
|
||
resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = { | ||
name: 'mi-${resourceToken}' | ||
location: location | ||
tags: tags | ||
} | ||
|
||
resource caeMiRoleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = { | ||
name: guid(containerRegistry.id, managedIdentity.id, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '7f951dda-4ed3-4680-a7ca-43fe172d538d')) | ||
scope: containerRegistry | ||
properties: { | ||
principalId: managedIdentity.properties.principalId | ||
principalType: 'ServicePrincipal' | ||
roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '7f951dda-4ed3-4680-a7ca-43fe172d538d') | ||
} | ||
} | ||
|
||
output mid string = managedIdentity.id | ||
output loginServer string = containerRegistry.properties.loginServer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
targetScope = 'resourceGroup' | ||
|
||
@description('') | ||
param location string = resourceGroup().location | ||
|
||
@description('') | ||
param keyVaultName string | ||
|
||
|
||
resource keyVault_IeF8jZvXV 'Microsoft.KeyVault/vaults@2022-07-01' existing = { | ||
name: keyVaultName | ||
} | ||
|
||
resource cosmosDBAccount_5pKmb8KAZ 'Microsoft.DocumentDB/databaseAccounts@2023-04-15' = { | ||
name: toLower(take(concat('cosmos', uniqueString(resourceGroup().id)), 24)) | ||
location: location | ||
tags: { | ||
'aspire-resource-name': 'cosmos' | ||
} | ||
kind: 'GlobalDocumentDB' | ||
properties: { | ||
databaseAccountOfferType: 'Standard' | ||
consistencyPolicy: { | ||
defaultConsistencyLevel: 'Session' | ||
} | ||
locations: [ | ||
{ | ||
locationName: location | ||
failoverPriority: 0 | ||
} | ||
] | ||
} | ||
} | ||
|
||
resource keyVaultSecret_Ddsc3HjrA 'Microsoft.KeyVault/vaults/secrets@2022-07-01' = { | ||
parent: keyVault_IeF8jZvXV | ||
name: 'connectionString' | ||
location: location | ||
properties: { | ||
value: 'AccountEndpoint=${cosmosDBAccount_5pKmb8KAZ.properties.documentEndpoint};AccountKey=${cosmosDBAccount_5pKmb8KAZ.listkeys(cosmosDBAccount_5pKmb8KAZ.apiVersion).primaryMasterKey}' | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
param location string | ||
param tags object = {} | ||
|
||
resource identity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = { | ||
name: 'cai-${uniqueString(resourceGroup().id)}' | ||
location: location | ||
tags: tags | ||
} | ||
|
||
output id string = identity.id | ||
output clientId string = identity.properties.clientId | ||
output principalId string = identity.properties.principalId | ||
output name string = identity.name |
Oops, something went wrong.