azd 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +2 -0
- data/lib/generators/azd/install_generator.rb +14 -0
- data/lib/generators/templates/azure.yaml.tt +22 -0
- data/lib/generators/templates/infra/abbreviations.json +136 -0
- data/lib/generators/templates/infra/core/ai/cognitiveservices.bicep +53 -0
- data/lib/generators/templates/infra/core/config/configstore.bicep +48 -0
- data/lib/generators/templates/infra/core/database/cosmos/cosmos-account.bicep +49 -0
- data/lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-account.bicep +23 -0
- data/lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-db.bicep +47 -0
- data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-account.bicep +22 -0
- data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-db.bicep +74 -0
- data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-assign.bicep +19 -0
- data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-def.bicep +30 -0
- data/lib/generators/templates/infra/core/database/mysql/flexibleserver.bicep +65 -0
- data/lib/generators/templates/infra/core/database/postgresql/flexibleserver.bicep +81 -0
- data/lib/generators/templates/infra/core/database/sqlserver/sqlserver.bicep +130 -0
- data/lib/generators/templates/infra/core/gateway/apim.bicep +79 -0
- data/lib/generators/templates/infra/core/host/aks-agent-pool.bicep +18 -0
- data/lib/generators/templates/infra/core/host/aks-managed-cluster.bicep +140 -0
- data/lib/generators/templates/infra/core/host/aks.bicep +280 -0
- data/lib/generators/templates/infra/core/host/appservice-appsettings.bicep +17 -0
- data/lib/generators/templates/infra/core/host/appservice.bicep +123 -0
- data/lib/generators/templates/infra/core/host/appserviceplan.bicep +22 -0
- data/lib/generators/templates/infra/core/host/container-app-upsert.bicep +109 -0
- data/lib/generators/templates/infra/core/host/container-app.bicep +165 -0
- data/lib/generators/templates/infra/core/host/container-apps-environment.bicep +41 -0
- data/lib/generators/templates/infra/core/host/container-apps.bicep +40 -0
- data/lib/generators/templates/infra/core/host/container-registry.bicep +83 -0
- data/lib/generators/templates/infra/core/host/functions.bicep +86 -0
- data/lib/generators/templates/infra/core/host/staticwebapp.bicep +22 -0
- data/lib/generators/templates/infra/core/monitor/applicationinsights-dashboard.bicep +1236 -0
- data/lib/generators/templates/infra/core/monitor/applicationinsights.bicep +30 -0
- data/lib/generators/templates/infra/core/monitor/loganalytics.bicep +22 -0
- data/lib/generators/templates/infra/core/monitor/monitoring.bicep +32 -0
- data/lib/generators/templates/infra/core/networking/cdn-endpoint.bicep +52 -0
- data/lib/generators/templates/infra/core/networking/cdn-profile.bicep +34 -0
- data/lib/generators/templates/infra/core/networking/cdn.bicep +42 -0
- data/lib/generators/templates/infra/core/search/search-services.bicep +68 -0
- data/lib/generators/templates/infra/core/security/aks-managed-cluster-access.bicep +19 -0
- data/lib/generators/templates/infra/core/security/configstore-access.bicep +21 -0
- data/lib/generators/templates/infra/core/security/keyvault-access.bicep +22 -0
- data/lib/generators/templates/infra/core/security/keyvault-secret.bicep +31 -0
- data/lib/generators/templates/infra/core/security/keyvault.bicep +31 -0
- data/lib/generators/templates/infra/core/security/registry-access.bicep +19 -0
- data/lib/generators/templates/infra/core/security/role.bicep +21 -0
- data/lib/generators/templates/infra/core/storage/storage-account.bicep +64 -0
- data/lib/generators/templates/infra/core/testing/loadtesting.bicep +15 -0
- data/lib/generators/templates/infra/identity.bicep +20 -0
- data/lib/generators/templates/infra/main.bicep +243 -0
- data/lib/generators/templates/infra/main.parameters.json +25 -0
- data/lib/generators/templates/infra/rails.bicep +95 -0
- metadata +115 -0
@@ -0,0 +1,243 @@
|
|
1
|
+
targetScope = 'subscription'
|
2
|
+
|
3
|
+
// The main bicep module to provision Azure resources.
|
4
|
+
// For a more complete walkthrough to understand how this file works with azd,
|
5
|
+
// see https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/make-azd-compatible?pivots=azd-create
|
6
|
+
|
7
|
+
@minLength(1)
|
8
|
+
@maxLength(64)
|
9
|
+
@description('Name of the the environment which is used to generate a short unique hash used in all resources.')
|
10
|
+
param environmentName string
|
11
|
+
|
12
|
+
@minLength(1)
|
13
|
+
@description('Primary location for all resources')
|
14
|
+
param location string
|
15
|
+
|
16
|
+
@secure()
|
17
|
+
@description('PostGreSQL Server administrator password')
|
18
|
+
param postgresAdminPassword string
|
19
|
+
|
20
|
+
@secure()
|
21
|
+
@description('Rails SECRET_KEY_BASE for cryptographic signing')
|
22
|
+
param railsSecretKeyBase string
|
23
|
+
|
24
|
+
@secure()
|
25
|
+
@description('Rails RAILS_MASTER_KEY for secret encryption')
|
26
|
+
param railsMasterKey string
|
27
|
+
|
28
|
+
// Optional parameters to override the default azd resource naming conventions.
|
29
|
+
// Add the following to main.parameters.json to provide values:
|
30
|
+
// "resourceGroupName": {
|
31
|
+
// "value": "myGroupName"
|
32
|
+
// }
|
33
|
+
@description('Resource group name')
|
34
|
+
param resourceGroupName string = ''
|
35
|
+
|
36
|
+
@description('PostgreSQL database name')
|
37
|
+
param postgresDatabaseName string = 'azure_rails_starter_production'
|
38
|
+
|
39
|
+
@description('Keyvault resource name')
|
40
|
+
param keyVaultName string = ''
|
41
|
+
|
42
|
+
@description('Azure Container Apps identity name')
|
43
|
+
param identityName string = ''
|
44
|
+
|
45
|
+
@description('If true use existing Azure Container Apps instance')
|
46
|
+
param acaExists bool = false
|
47
|
+
|
48
|
+
var abbrs = loadJsonContent('./abbreviations.json')
|
49
|
+
|
50
|
+
var tags = {
|
51
|
+
'azd-env-name': environmentName
|
52
|
+
}
|
53
|
+
|
54
|
+
// Generate a unique token to be used in naming resources.
|
55
|
+
// Remove linter suppression after using.
|
56
|
+
#disable-next-line no-unused-vars
|
57
|
+
var resourceToken = toLower(uniqueString(subscription().id, environmentName, location))
|
58
|
+
|
59
|
+
// Name of the service defined in azure.yaml
|
60
|
+
// A tag named azd-service-name with this value should be applied to the service host resource, such as:
|
61
|
+
// Microsoft.Web/sites for appservice, function
|
62
|
+
// Example usage:
|
63
|
+
// tags: union(tags, { 'azd-service-name': apiServiceName })
|
64
|
+
var appServiceName = 'azure-rails-starter'
|
65
|
+
|
66
|
+
// Organize resources in a resource group
|
67
|
+
resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = {
|
68
|
+
name: !empty(resourceGroupName) ? resourceGroupName : '${abbrs.resourcesResourceGroups}${environmentName}'
|
69
|
+
location: location
|
70
|
+
tags: tags
|
71
|
+
}
|
72
|
+
|
73
|
+
var prefix = '${environmentName}-${resourceToken}'
|
74
|
+
var railsIdentityName = !empty(identityName)
|
75
|
+
? identityName
|
76
|
+
: '${abbrs.managedIdentityUserAssignedIdentities}rails-${environmentName}'
|
77
|
+
var postgresServerName = '${abbrs.dBforPostgreSQLServers}${prefix}'
|
78
|
+
var postgresAdminUser = 'admin${uniqueString(resourceGroup.id)}'
|
79
|
+
|
80
|
+
// Add resources to be provisioned below.
|
81
|
+
// A full example that leverages azd bicep modules can be seen in the todo-python-mongo template:
|
82
|
+
// https://github.com/Azure-Samples/todo-python-mongo/tree/main/infra
|
83
|
+
|
84
|
+
module railsIdentity 'identity.bicep' = {
|
85
|
+
name: 'identity'
|
86
|
+
scope: resourceGroup
|
87
|
+
params: {
|
88
|
+
name: railsIdentityName
|
89
|
+
location: location
|
90
|
+
tags: tags
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
module logAnalyticsWorkspace 'core/monitor/loganalytics.bicep' = {
|
95
|
+
name: 'loganalytics'
|
96
|
+
scope: resourceGroup
|
97
|
+
params: {
|
98
|
+
name: '${prefix}-loganalytics'
|
99
|
+
location: location
|
100
|
+
tags: tags
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
104
|
+
module postgresServer 'core/database/postgresql/flexibleserver.bicep' = {
|
105
|
+
name: 'postgresql'
|
106
|
+
scope: resourceGroup
|
107
|
+
params: {
|
108
|
+
name: postgresServerName
|
109
|
+
location: location
|
110
|
+
tags: tags
|
111
|
+
sku: {
|
112
|
+
name: 'Standard_B1ms'
|
113
|
+
tier: 'Burstable'
|
114
|
+
}
|
115
|
+
storage: {
|
116
|
+
storageSizeGB: 32
|
117
|
+
}
|
118
|
+
version: '14'
|
119
|
+
administratorLogin: postgresAdminUser
|
120
|
+
administratorLoginPassword: postgresAdminPassword
|
121
|
+
databaseNames: [postgresDatabaseName]
|
122
|
+
allowAzureIPsFirewall: true
|
123
|
+
azureExtensions: ['PLPGSQL']
|
124
|
+
}
|
125
|
+
}
|
126
|
+
|
127
|
+
module containerApps 'core/host/container-apps.bicep' = {
|
128
|
+
name: 'container-apps'
|
129
|
+
scope: resourceGroup
|
130
|
+
params: {
|
131
|
+
name: 'app'
|
132
|
+
location: location
|
133
|
+
tags: tags
|
134
|
+
containerAppsEnvironmentName: '${prefix}-containerapps-env'
|
135
|
+
containerRegistryName: '${replace(prefix, '-', '')}registry'
|
136
|
+
logAnalyticsWorkspaceName: logAnalyticsWorkspace.outputs.name
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
module keyVault './core/security/keyvault.bicep' = {
|
141
|
+
name: 'keyvault'
|
142
|
+
scope: resourceGroup
|
143
|
+
params: {
|
144
|
+
name: !empty(keyVaultName) ? keyVaultName : '${abbrs.keyVaultVaults}${resourceToken}'
|
145
|
+
location: location
|
146
|
+
tags: tags
|
147
|
+
identityName: railsIdentity.outputs.name
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
module keyVaultAccess './core/security/keyvault-access.bicep' = {
|
152
|
+
name: 'keyvault-access'
|
153
|
+
scope: resourceGroup
|
154
|
+
params: {
|
155
|
+
keyVaultName: keyVault.outputs.name
|
156
|
+
principalId: railsIdentity.outputs.principalId
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
module keyVaultSecretPostgresAdminPassword './core/security/keyvault-secret.bicep' = {
|
161
|
+
name: 'keyvault-secret-postgres-admin-password'
|
162
|
+
scope: resourceGroup
|
163
|
+
params: {
|
164
|
+
keyVaultName: keyVault.outputs.name
|
165
|
+
name: 'postgres-admin-password'
|
166
|
+
secretValue: postgresAdminPassword
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
module keyVaultSecretDatabaseUrl './core/security/keyvault-secret.bicep' = {
|
171
|
+
name: 'keyvault-secret-database-url'
|
172
|
+
scope: resourceGroup
|
173
|
+
params: {
|
174
|
+
keyVaultName: keyVault.outputs.name
|
175
|
+
name: 'database-url'
|
176
|
+
secretValue: 'postgresql://${postgresAdminUser}:${postgresAdminPassword}@${postgresServer.outputs.POSTGRES_DOMAIN_NAME}:5432/${postgresDatabaseName}?connect_timeout=5&sslmode=require'
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
180
|
+
module keyVaultSecretSecretKeyBase './core/security/keyvault-secret.bicep' = {
|
181
|
+
name: 'keyvault-secret-secret-key-base'
|
182
|
+
scope: resourceGroup
|
183
|
+
params: {
|
184
|
+
keyVaultName: keyVault.outputs.name
|
185
|
+
name: 'secret-key-base'
|
186
|
+
secretValue: railsSecretKeyBase
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
190
|
+
module keyVaultSecretRailsMasterKey './core/security/keyvault-secret.bicep' = {
|
191
|
+
name: 'keyvault-secret-rails-master-key'
|
192
|
+
scope: resourceGroup
|
193
|
+
params: {
|
194
|
+
keyVaultName: keyVault.outputs.name
|
195
|
+
name: 'rails-master-key'
|
196
|
+
secretValue: railsMasterKey
|
197
|
+
}
|
198
|
+
}
|
199
|
+
|
200
|
+
module rails 'rails.bicep' = {
|
201
|
+
name: 'rails'
|
202
|
+
scope: resourceGroup
|
203
|
+
params: {
|
204
|
+
name: replace('${take(prefix,19)}-ca', '--', '-')
|
205
|
+
location: location
|
206
|
+
tags: tags
|
207
|
+
identityName: railsIdentity.outputs.name
|
208
|
+
containerAppsEnvironmentName: containerApps.outputs.environmentName
|
209
|
+
containerRegistryName: containerApps.outputs.registryName
|
210
|
+
serviceName: appServiceName
|
211
|
+
exists: acaExists
|
212
|
+
keyVaultName: keyVault.outputs.name
|
213
|
+
}
|
214
|
+
dependsOn: [
|
215
|
+
keyVaultSecretDatabaseUrl
|
216
|
+
keyVaultSecretSecretKeyBase
|
217
|
+
keyVaultAccess
|
218
|
+
]
|
219
|
+
}
|
220
|
+
|
221
|
+
// Add outputs from the deployment here, if needed.
|
222
|
+
//
|
223
|
+
// This allows the outputs to be referenced by other bicep deployments in the deployment pipeline,
|
224
|
+
// or by the local machine as a way to reference created resources in Azure for local development.
|
225
|
+
// Secrets should not be added here.
|
226
|
+
//
|
227
|
+
// Outputs are automatically saved in the local azd environment .env file.
|
228
|
+
// To see these outputs, run `azd env get-values`, or `azd env get-values --output json` for json output.
|
229
|
+
|
230
|
+
output AZURE_LOCATION string = location
|
231
|
+
output AZURE_RESOURCE_GROUP_NAME string = resourceGroup.name
|
232
|
+
output AZURE_TENANT_ID string = tenant().tenantId
|
233
|
+
output AZURE_KEY_VAULT_NAME string = keyVault.outputs.name
|
234
|
+
|
235
|
+
output SERVICE_RAILS_IDENTITY_PRINCIPAL_ID string = rails.outputs.SERVICE_RAILS_IDENTITY_PRINCIPAL_ID
|
236
|
+
output SERVICE_RAILS_NAME string = rails.outputs.SERVICE_RAILS_NAME
|
237
|
+
output SERVICE_RAILS_URI string = rails.outputs.SERVICE_RAILS_URI
|
238
|
+
output SERVICE_RAILS_IMAGE_NAME string = rails.outputs.SERVICE_RAILS_IMAGE_NAME
|
239
|
+
output SERVICE_RAILS_DATABASE_NAME string = postgresDatabaseName
|
240
|
+
|
241
|
+
output AZURE_CONTAINER_ENVIRONMENT_NAME string = containerApps.outputs.environmentName
|
242
|
+
output AZURE_CONTAINER_REGISTRY_ENDPOINT string = containerApps.outputs.registryLoginServer
|
243
|
+
output AZURE_CONTAINER_REGISTRY_NAME string = containerApps.outputs.registryName
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
|
3
|
+
"contentVersion": "1.0.0.0",
|
4
|
+
"parameters": {
|
5
|
+
"environmentName": {
|
6
|
+
"value": "${AZURE_ENV_NAME}"
|
7
|
+
},
|
8
|
+
"location": {
|
9
|
+
"value": "${AZURE_LOCATION}"
|
10
|
+
},
|
11
|
+
|
12
|
+
"postgresAdminPassword": {
|
13
|
+
"value": "$(secretOrRandomPassword ${AZURE_KEY_VAULT_NAME} postgres-admin-password)"
|
14
|
+
},
|
15
|
+
"railsSecretKeyBase": {
|
16
|
+
"value": "${SECRET_KEY_BASE}"
|
17
|
+
},
|
18
|
+
"railsMasterKey": {
|
19
|
+
"value": "${RAILS_MASTER_KEY}"
|
20
|
+
},
|
21
|
+
"postgresDatabaseName": {
|
22
|
+
"value": "${SERVICE_RAILS_DATABASE_NAME=azure-rails-starter-production}"
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
//
|
2
|
+
// Bicep module with the container app definition for a Rails app.
|
3
|
+
//
|
4
|
+
@description('Name of the container app')
|
5
|
+
param name string
|
6
|
+
|
7
|
+
@description('Location of the container app')
|
8
|
+
param location string = resourceGroup().location
|
9
|
+
|
10
|
+
@description('Tags applied on the container app')
|
11
|
+
param tags object = {}
|
12
|
+
|
13
|
+
@description('Name of the container apps environment')
|
14
|
+
param containerAppsEnvironmentName string
|
15
|
+
|
16
|
+
@description('Name of the container registry')
|
17
|
+
param containerRegistryName string
|
18
|
+
|
19
|
+
@description('Service name (will be added as tag "azd-service-name")')
|
20
|
+
param serviceName string = 'rails'
|
21
|
+
|
22
|
+
@description('If true re-use existing Azure Container App')
|
23
|
+
param exists bool
|
24
|
+
|
25
|
+
@description('Name of the key vault to use for secret references')
|
26
|
+
param keyVaultName string
|
27
|
+
|
28
|
+
@description('Name of the managed identity to use for accessing secrets in the key vault')
|
29
|
+
param identityName string
|
30
|
+
|
31
|
+
module app 'core/host/container-app-upsert.bicep' = {
|
32
|
+
name: '${serviceName}-container-app-module'
|
33
|
+
params: {
|
34
|
+
name: name
|
35
|
+
containerMinReplicas: 0
|
36
|
+
containerMaxReplicas: 3
|
37
|
+
location: location
|
38
|
+
tags: union(tags, { 'azd-service-name': serviceName })
|
39
|
+
identityName: webIdentity.name
|
40
|
+
exists: exists
|
41
|
+
containerAppsEnvironmentName: containerAppsEnvironmentName
|
42
|
+
containerRegistryName: containerRegistryName
|
43
|
+
env: [
|
44
|
+
{
|
45
|
+
name: 'RAILS_ENV'
|
46
|
+
value: 'production'
|
47
|
+
}
|
48
|
+
{
|
49
|
+
name: 'DATABASE_URL'
|
50
|
+
secretRef: 'database-url'
|
51
|
+
}
|
52
|
+
{
|
53
|
+
name: 'SECRET_KEY_BASE'
|
54
|
+
secretRef: 'secret-key-base'
|
55
|
+
}
|
56
|
+
{
|
57
|
+
name: 'RAILS_MASTER_KEY'
|
58
|
+
secretRef: 'rails-master-key'
|
59
|
+
}
|
60
|
+
]
|
61
|
+
secrets: [
|
62
|
+
{
|
63
|
+
name: 'database-url'
|
64
|
+
keyVaultUrl: '${keyVault.properties.vaultUri}secrets/database-url'
|
65
|
+
identity: webIdentity.id
|
66
|
+
}
|
67
|
+
{
|
68
|
+
name: 'secret-key-base'
|
69
|
+
keyVaultUrl: '${keyVault.properties.vaultUri}secrets/secret-key-base'
|
70
|
+
identity: webIdentity.id
|
71
|
+
}
|
72
|
+
{
|
73
|
+
name: 'rails-master-key'
|
74
|
+
keyVaultUrl: '${keyVault.properties.vaultUri}secrets/rails-master-key'
|
75
|
+
identity: webIdentity.id
|
76
|
+
}
|
77
|
+
]
|
78
|
+
targetPort: 3000
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' existing = {
|
83
|
+
name: keyVaultName
|
84
|
+
}
|
85
|
+
|
86
|
+
resource webIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' existing = {
|
87
|
+
name: identityName
|
88
|
+
}
|
89
|
+
|
90
|
+
output SERVICE_RAILS_IDENTITY_PRINCIPAL_ID string = webIdentity.name
|
91
|
+
output SERVICE_RAILS_NAME string = app.outputs.name
|
92
|
+
output SERVICE_RAILS_URI string = app.outputs.uri
|
93
|
+
output SERVICE_RAILS_IMAGE_NAME string = app.outputs.imageName
|
94
|
+
|
95
|
+
|
metadata
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: azd
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dominique Broeglin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-04-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: railties
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '99'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '99'
|
33
|
+
description: Contains generators to make a rails application azd compatible
|
34
|
+
email:
|
35
|
+
executables: []
|
36
|
+
extensions: []
|
37
|
+
extra_rdoc_files: []
|
38
|
+
files:
|
39
|
+
- LICENSE
|
40
|
+
- README.md
|
41
|
+
- lib/generators/azd/install_generator.rb
|
42
|
+
- lib/generators/templates/azure.yaml.tt
|
43
|
+
- lib/generators/templates/infra/abbreviations.json
|
44
|
+
- lib/generators/templates/infra/core/ai/cognitiveservices.bicep
|
45
|
+
- lib/generators/templates/infra/core/config/configstore.bicep
|
46
|
+
- lib/generators/templates/infra/core/database/cosmos/cosmos-account.bicep
|
47
|
+
- lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-account.bicep
|
48
|
+
- lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-db.bicep
|
49
|
+
- lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-account.bicep
|
50
|
+
- lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-db.bicep
|
51
|
+
- lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-assign.bicep
|
52
|
+
- lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-def.bicep
|
53
|
+
- lib/generators/templates/infra/core/database/mysql/flexibleserver.bicep
|
54
|
+
- lib/generators/templates/infra/core/database/postgresql/flexibleserver.bicep
|
55
|
+
- lib/generators/templates/infra/core/database/sqlserver/sqlserver.bicep
|
56
|
+
- lib/generators/templates/infra/core/gateway/apim.bicep
|
57
|
+
- lib/generators/templates/infra/core/host/aks-agent-pool.bicep
|
58
|
+
- lib/generators/templates/infra/core/host/aks-managed-cluster.bicep
|
59
|
+
- lib/generators/templates/infra/core/host/aks.bicep
|
60
|
+
- lib/generators/templates/infra/core/host/appservice-appsettings.bicep
|
61
|
+
- lib/generators/templates/infra/core/host/appservice.bicep
|
62
|
+
- lib/generators/templates/infra/core/host/appserviceplan.bicep
|
63
|
+
- lib/generators/templates/infra/core/host/container-app-upsert.bicep
|
64
|
+
- lib/generators/templates/infra/core/host/container-app.bicep
|
65
|
+
- lib/generators/templates/infra/core/host/container-apps-environment.bicep
|
66
|
+
- lib/generators/templates/infra/core/host/container-apps.bicep
|
67
|
+
- lib/generators/templates/infra/core/host/container-registry.bicep
|
68
|
+
- lib/generators/templates/infra/core/host/functions.bicep
|
69
|
+
- lib/generators/templates/infra/core/host/staticwebapp.bicep
|
70
|
+
- lib/generators/templates/infra/core/monitor/applicationinsights-dashboard.bicep
|
71
|
+
- lib/generators/templates/infra/core/monitor/applicationinsights.bicep
|
72
|
+
- lib/generators/templates/infra/core/monitor/loganalytics.bicep
|
73
|
+
- lib/generators/templates/infra/core/monitor/monitoring.bicep
|
74
|
+
- lib/generators/templates/infra/core/networking/cdn-endpoint.bicep
|
75
|
+
- lib/generators/templates/infra/core/networking/cdn-profile.bicep
|
76
|
+
- lib/generators/templates/infra/core/networking/cdn.bicep
|
77
|
+
- lib/generators/templates/infra/core/search/search-services.bicep
|
78
|
+
- lib/generators/templates/infra/core/security/aks-managed-cluster-access.bicep
|
79
|
+
- lib/generators/templates/infra/core/security/configstore-access.bicep
|
80
|
+
- lib/generators/templates/infra/core/security/keyvault-access.bicep
|
81
|
+
- lib/generators/templates/infra/core/security/keyvault-secret.bicep
|
82
|
+
- lib/generators/templates/infra/core/security/keyvault.bicep
|
83
|
+
- lib/generators/templates/infra/core/security/registry-access.bicep
|
84
|
+
- lib/generators/templates/infra/core/security/role.bicep
|
85
|
+
- lib/generators/templates/infra/core/storage/storage-account.bicep
|
86
|
+
- lib/generators/templates/infra/core/testing/loadtesting.bicep
|
87
|
+
- lib/generators/templates/infra/identity.bicep
|
88
|
+
- lib/generators/templates/infra/main.bicep
|
89
|
+
- lib/generators/templates/infra/main.parameters.json
|
90
|
+
- lib/generators/templates/infra/rails.bicep
|
91
|
+
homepage: https://github.com/dbroeglin/azure-dev-gem
|
92
|
+
licenses:
|
93
|
+
- MIT
|
94
|
+
metadata:
|
95
|
+
source_code_uri: https://github.com/dbroeglin/azure-dev-gem
|
96
|
+
post_install_message:
|
97
|
+
rdoc_options: []
|
98
|
+
require_paths:
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 2.7.0
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
requirements: []
|
111
|
+
rubygems_version: 3.5.7
|
112
|
+
signing_key:
|
113
|
+
specification_version: 4
|
114
|
+
summary: Azure Developer CLI generators gem
|
115
|
+
test_files: []
|