azd 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +2 -0
  4. data/lib/generators/azd/install_generator.rb +14 -0
  5. data/lib/generators/templates/azure.yaml.tt +22 -0
  6. data/lib/generators/templates/infra/abbreviations.json +136 -0
  7. data/lib/generators/templates/infra/core/ai/cognitiveservices.bicep +53 -0
  8. data/lib/generators/templates/infra/core/config/configstore.bicep +48 -0
  9. data/lib/generators/templates/infra/core/database/cosmos/cosmos-account.bicep +49 -0
  10. data/lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-account.bicep +23 -0
  11. data/lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-db.bicep +47 -0
  12. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-account.bicep +22 -0
  13. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-db.bicep +74 -0
  14. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-assign.bicep +19 -0
  15. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-def.bicep +30 -0
  16. data/lib/generators/templates/infra/core/database/mysql/flexibleserver.bicep +65 -0
  17. data/lib/generators/templates/infra/core/database/postgresql/flexibleserver.bicep +81 -0
  18. data/lib/generators/templates/infra/core/database/sqlserver/sqlserver.bicep +130 -0
  19. data/lib/generators/templates/infra/core/gateway/apim.bicep +79 -0
  20. data/lib/generators/templates/infra/core/host/aks-agent-pool.bicep +18 -0
  21. data/lib/generators/templates/infra/core/host/aks-managed-cluster.bicep +140 -0
  22. data/lib/generators/templates/infra/core/host/aks.bicep +280 -0
  23. data/lib/generators/templates/infra/core/host/appservice-appsettings.bicep +17 -0
  24. data/lib/generators/templates/infra/core/host/appservice.bicep +123 -0
  25. data/lib/generators/templates/infra/core/host/appserviceplan.bicep +22 -0
  26. data/lib/generators/templates/infra/core/host/container-app-upsert.bicep +109 -0
  27. data/lib/generators/templates/infra/core/host/container-app.bicep +165 -0
  28. data/lib/generators/templates/infra/core/host/container-apps-environment.bicep +41 -0
  29. data/lib/generators/templates/infra/core/host/container-apps.bicep +40 -0
  30. data/lib/generators/templates/infra/core/host/container-registry.bicep +83 -0
  31. data/lib/generators/templates/infra/core/host/functions.bicep +86 -0
  32. data/lib/generators/templates/infra/core/host/staticwebapp.bicep +22 -0
  33. data/lib/generators/templates/infra/core/monitor/applicationinsights-dashboard.bicep +1236 -0
  34. data/lib/generators/templates/infra/core/monitor/applicationinsights.bicep +30 -0
  35. data/lib/generators/templates/infra/core/monitor/loganalytics.bicep +22 -0
  36. data/lib/generators/templates/infra/core/monitor/monitoring.bicep +32 -0
  37. data/lib/generators/templates/infra/core/networking/cdn-endpoint.bicep +52 -0
  38. data/lib/generators/templates/infra/core/networking/cdn-profile.bicep +34 -0
  39. data/lib/generators/templates/infra/core/networking/cdn.bicep +42 -0
  40. data/lib/generators/templates/infra/core/search/search-services.bicep +68 -0
  41. data/lib/generators/templates/infra/core/security/aks-managed-cluster-access.bicep +19 -0
  42. data/lib/generators/templates/infra/core/security/configstore-access.bicep +21 -0
  43. data/lib/generators/templates/infra/core/security/keyvault-access.bicep +22 -0
  44. data/lib/generators/templates/infra/core/security/keyvault-secret.bicep +31 -0
  45. data/lib/generators/templates/infra/core/security/keyvault.bicep +31 -0
  46. data/lib/generators/templates/infra/core/security/registry-access.bicep +19 -0
  47. data/lib/generators/templates/infra/core/security/role.bicep +21 -0
  48. data/lib/generators/templates/infra/core/storage/storage-account.bicep +64 -0
  49. data/lib/generators/templates/infra/core/testing/loadtesting.bicep +15 -0
  50. data/lib/generators/templates/infra/identity.bicep +20 -0
  51. data/lib/generators/templates/infra/main.bicep +243 -0
  52. data/lib/generators/templates/infra/main.parameters.json +25 -0
  53. data/lib/generators/templates/infra/rails.bicep +95 -0
  54. 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: []