kaas
This commit is contained in:
parent
501daf7a91
commit
e917ab12ed
7 changed files with 133 additions and 125 deletions
|
@ -1,4 +1,6 @@
|
|||
import { Context } from 'types.bicep'
|
||||
import { Context } from 'br/Tricep:types:latest'
|
||||
import { with_name } from 'br/Tricep:common/context:latest'
|
||||
import { container_app_environment, container_app, container, with_app_logs, with_auto_scaling, with_environment } from 'br/Tricep:recommended/app/container-app:latest'
|
||||
|
||||
targetScope = 'resourceGroup'
|
||||
|
||||
|
@ -6,12 +8,14 @@ param context Context
|
|||
param version string
|
||||
@secure()
|
||||
param registryUrl string
|
||||
param customerId string
|
||||
param sharedKey string
|
||||
|
||||
var appName = 'app'
|
||||
|
||||
resource environment 'Microsoft.App/managedEnvironments@2024-03-01' = {
|
||||
name: 'cea-${context.locationAbbreviation}-${context.environment}-${context.projectName}'
|
||||
location: context.location
|
||||
var environmentConfig = container_app_environment(with_name(context, 'app'), [
|
||||
with_app_logs(customerId, sharedKey)
|
||||
{
|
||||
properties: {
|
||||
appLogsConfiguration: {
|
||||
destination: 'azure-monitor'
|
||||
|
@ -27,17 +31,22 @@ resource environment 'Microsoft.App/managedEnvironments@2024-03-01' = {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource app 'Microsoft.App/containerApps@2024-03-01' = {
|
||||
name: 'ca-${context.locationAbbreviation}-${context.environment}-${context.projectName}-app'
|
||||
location: context.location
|
||||
identity: {
|
||||
type: 'SystemAssigned'
|
||||
}
|
||||
])
|
||||
var appConfig = container_app(
|
||||
with_name(context, 'app'),
|
||||
[
|
||||
container('${context.project}-${appName}', '${registryUrl}/${context.project}-${appName}:${version}')
|
||||
],
|
||||
[
|
||||
with_environment(environment.id)
|
||||
with_auto_scaling(0, 1, {
|
||||
ruleName: {
|
||||
concurrentRequests: '10'
|
||||
}
|
||||
})
|
||||
{
|
||||
properties: {
|
||||
environmentId: environment.id
|
||||
|
||||
configuration: {
|
||||
activeRevisionsMode: 'Single'
|
||||
|
||||
|
@ -63,6 +72,7 @@ resource app 'Microsoft.App/containerApps@2024-03-01' = {
|
|||
maxAge: 0
|
||||
}
|
||||
}
|
||||
|
||||
registries: [
|
||||
{
|
||||
identity: 'system'
|
||||
|
@ -70,32 +80,20 @@ resource app 'Microsoft.App/containerApps@2024-03-01' = {
|
|||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
)
|
||||
|
||||
template: {
|
||||
containers: [
|
||||
{
|
||||
image: '${registryUrl}/${context.projectName}-${appName}:${version}'
|
||||
name: '${context.projectName}-${appName}'
|
||||
resources: {
|
||||
cpu: json('0.25')
|
||||
memory: '0.5Gi'
|
||||
}
|
||||
}
|
||||
]
|
||||
scale: {
|
||||
minReplicas: 1
|
||||
maxReplicas: 2
|
||||
rules: [
|
||||
{
|
||||
name: 'http-rule'
|
||||
http: {
|
||||
metadata: {
|
||||
concurrentRequests: '50'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
resource environment 'Microsoft.App/managedEnvironments@2024-03-01' = {
|
||||
name: environmentConfig.name
|
||||
location: environmentConfig.location
|
||||
properties: environmentConfig.properties
|
||||
}
|
||||
|
||||
resource app 'Microsoft.App/containerApps@2024-03-01' = {
|
||||
name: appConfig.name
|
||||
location: appConfig.location
|
||||
identity: appConfig.identity
|
||||
properties: appConfig.properties
|
||||
}
|
||||
|
|
|
@ -7,5 +7,12 @@
|
|||
"resourceTypedParamsAndOutputs": true,
|
||||
"sourceMapping": true,
|
||||
"symbolicNameCodegen": true
|
||||
},
|
||||
"moduleAliases": {
|
||||
"br": {
|
||||
"Tricep": {
|
||||
"registry": "acreuwprdtricep.azurecr.io"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
import { Context } from 'types.bicep'
|
||||
import { create_context } from 'br/Tricep:common/context:latest'
|
||||
import { resource_group } from 'br/Tricep:recommended/resources/resource-group:latest'
|
||||
|
||||
targetScope = 'subscription'
|
||||
|
||||
param locationAbbreviation string
|
||||
param location string
|
||||
param environment string
|
||||
param projectName string
|
||||
|
@ -11,17 +11,22 @@ param version string
|
|||
param registryUrl string
|
||||
param deployedAt string = utcNow('yyyyMMdd')
|
||||
|
||||
var context = {
|
||||
locationAbbreviation: locationAbbreviation
|
||||
var context = create_context({
|
||||
name: ''
|
||||
project: projectName
|
||||
nameConventionTemplate: '$type-$env-$loc-$project-$name'
|
||||
location: location
|
||||
environment: environment
|
||||
projectName: projectName
|
||||
deployedAt: deployedAt
|
||||
}
|
||||
tenant: tenant()
|
||||
tags: {}
|
||||
})
|
||||
|
||||
var resourceGroupConfig = resource_group(context, [])
|
||||
|
||||
resource calqueResourceGroup 'Microsoft.Resources/resourceGroups@2024-07-01' = {
|
||||
name: 'rg-${locationAbbreviation}-${environment}-${projectName}'
|
||||
location: location
|
||||
name: resourceGroupConfig.name
|
||||
location: resourceGroupConfig.location
|
||||
}
|
||||
|
||||
module monitoring 'monitoring.bicep' = {
|
||||
|
|
|
@ -1,11 +1,17 @@
|
|||
import { Context } from 'types.bicep'
|
||||
import { Context } from 'br/Tricep:types:latest'
|
||||
import { with_managed_identity } from 'br/Tricep:common/identity:latest'
|
||||
import { log_analytics } from 'br/Tricep:recommended/operational-insights/log-analytics:latest'
|
||||
|
||||
targetScope = 'resourceGroup'
|
||||
|
||||
param context Context
|
||||
|
||||
// resource monitoring 'Microsoft.___/___@___' = {
|
||||
// name: '___-${context.locationAbbreviation}-${context.environment}-${context.projectName}'
|
||||
// location: context.location
|
||||
// properties: {}
|
||||
// }
|
||||
var logAnalyticsConfig = log_analytics(context, [
|
||||
with_managed_identity()
|
||||
])
|
||||
|
||||
resource monitoring 'Microsoft.OperationalInsights/workspaces@2023-09-01' = {
|
||||
name: logAnalyticsConfig.name
|
||||
location: logAnalyticsConfig.location
|
||||
properties: logAnalyticsConfig.properties
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using '../main.bicep'
|
||||
|
||||
param locationAbbreviation = 'euw'
|
||||
param location = 'westeurope'
|
||||
param environment = 'prd'
|
||||
param projectName = 'calque'
|
||||
|
|
|
@ -1,18 +1,14 @@
|
|||
import { Context } from 'types.bicep'
|
||||
import { Context } from 'br/Tricep:types:latest'
|
||||
import { with_managed_identity } from 'br/Tricep:common/identity:latest'
|
||||
import { container_registry } from 'br/Tricep:recommended/container-registry/container-registry:latest'
|
||||
|
||||
targetScope = 'resourceGroup'
|
||||
|
||||
param context Context
|
||||
|
||||
resource registry 'Microsoft.ContainerRegistry/registries@2023-07-01' = {
|
||||
name: 'acr${context.locationAbbreviation}${context.environment}${context.projectName}'
|
||||
location: context.location
|
||||
sku: {
|
||||
name: 'Basic'
|
||||
}
|
||||
identity: {
|
||||
type: 'SystemAssigned'
|
||||
}
|
||||
var registryConfig = container_registry(context, [
|
||||
with_managed_identity()
|
||||
{
|
||||
properties: {
|
||||
adminUserEnabled: true
|
||||
dataEndpointEnabled: false
|
||||
|
@ -20,4 +16,13 @@ resource registry 'Microsoft.ContainerRegistry/registries@2023-07-01' = {
|
|||
status: 'disabled'
|
||||
}
|
||||
}
|
||||
}
|
||||
])
|
||||
|
||||
resource registry 'Microsoft.ContainerRegistry/registries@2023-07-01' = {
|
||||
name: registryConfig.name
|
||||
location: registryConfig.location
|
||||
sku: registryConfig.sku
|
||||
identity: registryConfig.identity
|
||||
properties: registryConfig.properties
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
@export()
|
||||
type Context = {
|
||||
@minLength(2)
|
||||
locationAbbreviation: string
|
||||
@minLength(2)
|
||||
location: string
|
||||
@minLength(3)
|
||||
environment: string
|
||||
@minLength(2)
|
||||
projectName: string
|
||||
deployedAt: string
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue