kitchen-azurerm 0.14.7 → 0.14.8
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.
- checksums.yaml +4 -4
- data/README.md +36 -0
- data/lib/kitchen/driver/azurerm.rb +10 -0
- data/templates/internal.erb +22 -0
- data/templates/public.erb +23 -0
- metadata +15 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97bbd49be5ec263bf62071763c58b4c5e1fcf9fd43032182e4129ab648d480eb
|
4
|
+
data.tar.gz: 61b500b1cea1e867b23380aa4768aa1a48d301dd5ecd299b80508d54af5ce214
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f99b8ab2793552a5bf34d4264250d313284463ca409c26fd7fc899c8c9c44519a8dd1d102b3027fbe463b16ab1a4a7ed2a702005f45595ca045e45ec8dddb34
|
7
|
+
data.tar.gz: 824de194c5bc3ca87388acbf861d3aceef3db00adc9e66c5b1eedf7faa79836f7e113e722a838c36cef54ec2a7d213e825ddc2cf34ac77665a3ef4cca2e09281
|
data/README.md
CHANGED
@@ -479,6 +479,42 @@ Example postdeploy.json to enable MSI extention on VM:
|
|
479
479
|
}
|
480
480
|
```
|
481
481
|
|
482
|
+
### .kitchen.yml example 10 - Enabling Managed Service Identities
|
483
|
+
|
484
|
+
This example demonstrates how to enable a System Assigned Identity and User Assigned Identities on a Kitchen VM.
|
485
|
+
Any combination of System and User assigned identities may be enabled, and multiple User Assigned Identities can be supplied.
|
486
|
+
|
487
|
+
See the [Managed identities for Azure resources](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) documentation for more information on using Managed Service Identities.
|
488
|
+
|
489
|
+
```yaml
|
490
|
+
---
|
491
|
+
driver:
|
492
|
+
name: azurerm
|
493
|
+
subscription_id: '4801fa9d-YOUR-GUID-HERE-b265ff49ce21'
|
494
|
+
location: 'West Europe'
|
495
|
+
machine_size: 'Standard_D1'
|
496
|
+
|
497
|
+
transport:
|
498
|
+
ssh_key: ~/.ssh/id_kitchen-azurerm
|
499
|
+
|
500
|
+
provisioner:
|
501
|
+
name: chef_zero
|
502
|
+
|
503
|
+
platforms:
|
504
|
+
- name: ubuntu-1404
|
505
|
+
driver:
|
506
|
+
image_urn: Canonical:UbuntuServer:14.04.4-LTS:latest
|
507
|
+
system_assigned_identity: true
|
508
|
+
user_assigned_identities:
|
509
|
+
- /subscriptions/4801fa9d-YOUR-GUID-HERE-b265ff49ce21/resourcegroups/test-kitchen-user/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-kitchen-user
|
510
|
+
|
511
|
+
suites:
|
512
|
+
- name: default
|
513
|
+
run_list:
|
514
|
+
- recipe[kitchentesting::default]
|
515
|
+
attributes:
|
516
|
+
```
|
517
|
+
|
482
518
|
|
483
519
|
## Support for Government and Sovereign Clouds (China and Germany)
|
484
520
|
|
@@ -146,6 +146,14 @@ module Kitchen
|
|
146
146
|
false
|
147
147
|
end
|
148
148
|
|
149
|
+
default_config(:system_assigned_identity) do |_config|
|
150
|
+
false
|
151
|
+
end
|
152
|
+
|
153
|
+
default_config(:user_assigned_identities) do |_config|
|
154
|
+
[]
|
155
|
+
end
|
156
|
+
|
149
157
|
default_config(:destroy_explicit_resource_group) do |_config|
|
150
158
|
true
|
151
159
|
end
|
@@ -166,6 +174,8 @@ module Kitchen
|
|
166
174
|
adminPassword: state[:password] || "P2ssw0rd",
|
167
175
|
dnsNameForPublicIP: "kitchen-#{state[:uuid]}",
|
168
176
|
vmName: state[:vm_name],
|
177
|
+
systemAssignedIdentity: config[:system_assigned_identity],
|
178
|
+
userAssignedIdentities: config[:user_assigned_identities],
|
169
179
|
}
|
170
180
|
|
171
181
|
if config[:subscription_id].to_s == ""
|
data/templates/internal.erb
CHANGED
@@ -143,6 +143,20 @@
|
|
143
143
|
"description": "The type of storage to use (e.g. Standard_LRS or Premium_LRS)."
|
144
144
|
}
|
145
145
|
},
|
146
|
+
"systemAssignedIdentity": {
|
147
|
+
"type": "bool",
|
148
|
+
"defaultValue": false,
|
149
|
+
"metadata": {
|
150
|
+
"description": "Whether to enable system assigned identity for the vm."
|
151
|
+
}
|
152
|
+
},
|
153
|
+
"userAssignedIdentities": {
|
154
|
+
"type": "array",
|
155
|
+
"defaultValue": [],
|
156
|
+
"metadata": {
|
157
|
+
"description": "A list of resource IDs for user identities to associate with the Virtual Machine, or empty to disable user assigned identities."
|
158
|
+
}
|
159
|
+
},
|
146
160
|
"bootDiagnosticsEnabled": {
|
147
161
|
"type": "string",
|
148
162
|
"defaultValue": "true",
|
@@ -164,6 +178,7 @@
|
|
164
178
|
"vmStorageAccountContainerName": "vhds",
|
165
179
|
"vmName": "[parameters('vmName')]",
|
166
180
|
"vmSize": "[parameters('vmSize')]",
|
181
|
+
"vmIdentityType": "[if(parameters('systemAssignedIdentity'), if(empty(parameters('userAssignedIdentities')), 'SystemAssigned', 'SystemAssigned, UserAssigned'), if(empty(parameters('userAssignedIdentities')), 'None', 'UserAssigned'))]",
|
167
182
|
"virtualNetworkName": "vnet",
|
168
183
|
"vnetID": "<%= vnet_id %>",
|
169
184
|
"subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]"
|
@@ -193,6 +208,7 @@
|
|
193
208
|
"accountType": "[variables('storageAccountType')]"
|
194
209
|
},
|
195
210
|
"tags": {
|
211
|
+
<%= vm_tags unless vm_tags.empty? %>
|
196
212
|
}
|
197
213
|
},
|
198
214
|
<%- end -%>
|
@@ -210,6 +226,7 @@
|
|
210
226
|
}
|
211
227
|
},
|
212
228
|
"tags": {
|
229
|
+
<%= vm_tags unless vm_tags.empty? %>
|
213
230
|
}
|
214
231
|
},
|
215
232
|
<%- end -%>
|
@@ -242,6 +259,7 @@
|
|
242
259
|
]
|
243
260
|
},
|
244
261
|
"tags": {
|
262
|
+
<%= vm_tags unless vm_tags.empty? %>
|
245
263
|
}
|
246
264
|
},
|
247
265
|
{
|
@@ -342,6 +360,10 @@
|
|
342
360
|
<%- end -%>
|
343
361
|
}
|
344
362
|
},
|
363
|
+
"identity": {
|
364
|
+
"type": "[variables('vmIdentityType')]",
|
365
|
+
"identityIds": "[if(empty(parameters('userAssignedIdentities')), json('null'), parameters('userAssignedIdentities'))]"
|
366
|
+
},
|
345
367
|
"tags": {
|
346
368
|
<%= vm_tags unless vm_tags.empty? %>
|
347
369
|
}
|
data/templates/public.erb
CHANGED
@@ -143,6 +143,20 @@
|
|
143
143
|
"description": "The type of storage to use (e.g. Standard_LRS or Premium_LRS)."
|
144
144
|
}
|
145
145
|
},
|
146
|
+
"systemAssignedIdentity": {
|
147
|
+
"type": "bool",
|
148
|
+
"defaultValue": false,
|
149
|
+
"metadata": {
|
150
|
+
"description": "Whether to enable system assigned identity for the vm."
|
151
|
+
}
|
152
|
+
},
|
153
|
+
"userAssignedIdentities": {
|
154
|
+
"type": "array",
|
155
|
+
"defaultValue": [],
|
156
|
+
"metadata": {
|
157
|
+
"description": "A list of resource IDs for user identities to associate with the Virtual Machine, or empty to disable user assigned identities."
|
158
|
+
}
|
159
|
+
},
|
146
160
|
"bootDiagnosticsEnabled": {
|
147
161
|
"type": "string",
|
148
162
|
"defaultValue": "true",
|
@@ -164,6 +178,7 @@
|
|
164
178
|
"vmStorageAccountContainerName": "vhds",
|
165
179
|
"vmName": "[parameters('vmName')]",
|
166
180
|
"vmSize": "[parameters('vmSize')]",
|
181
|
+
"vmIdentityType": "[if(parameters('systemAssignedIdentity'), if(empty(parameters('userAssignedIdentities')), 'SystemAssigned', 'SystemAssigned, UserAssigned'), if(empty(parameters('userAssignedIdentities')), 'None', 'UserAssigned'))]",
|
167
182
|
"virtualNetworkName": "vnet",
|
168
183
|
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]",
|
169
184
|
"subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]"
|
@@ -193,6 +208,7 @@
|
|
193
208
|
"accountType": "[variables('storageAccountType')]"
|
194
209
|
},
|
195
210
|
"tags": {
|
211
|
+
<%= vm_tags unless vm_tags.empty? %>
|
196
212
|
}
|
197
213
|
},
|
198
214
|
<%- end -%>
|
@@ -209,6 +225,7 @@
|
|
209
225
|
}
|
210
226
|
},
|
211
227
|
"tags": {
|
228
|
+
<%= vm_tags unless vm_tags.empty? %>
|
212
229
|
}
|
213
230
|
},
|
214
231
|
{
|
@@ -232,6 +249,7 @@
|
|
232
249
|
]
|
233
250
|
},
|
234
251
|
"tags": {
|
252
|
+
<%= vm_tags unless vm_tags.empty? %>
|
235
253
|
}
|
236
254
|
},
|
237
255
|
{
|
@@ -260,6 +278,7 @@
|
|
260
278
|
]
|
261
279
|
},
|
262
280
|
"tags": {
|
281
|
+
<%= vm_tags unless vm_tags.empty? %>
|
263
282
|
}
|
264
283
|
},
|
265
284
|
{
|
@@ -360,6 +379,10 @@
|
|
360
379
|
<%- end -%>
|
361
380
|
}
|
362
381
|
},
|
382
|
+
"identity": {
|
383
|
+
"type": "[variables('vmIdentityType')]",
|
384
|
+
"identityIds": "[if(empty(parameters('userAssignedIdentities')), json('null'), parameters('userAssignedIdentities'))]"
|
385
|
+
},
|
363
386
|
"tags": {
|
364
387
|
<%= vm_tags unless vm_tags.empty? %>
|
365
388
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-azurerm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stuart Preston
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: azure_mgmt_network
|
@@ -54,42 +54,42 @@ dependencies:
|
|
54
54
|
name: inifile
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - "~>"
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: '3.0'
|
60
57
|
- - ">="
|
61
58
|
- !ruby/object:Gem::Version
|
62
59
|
version: 3.0.0
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '3.0'
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '3.0'
|
70
67
|
- - ">="
|
71
68
|
- !ruby/object:Gem::Version
|
72
69
|
version: 3.0.0
|
70
|
+
- - "~>"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '3.0'
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: sshkey
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- - "~>"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '1'
|
80
77
|
- - ">="
|
81
78
|
- !ruby/object:Gem::Version
|
82
79
|
version: 1.0.0
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1'
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1'
|
90
87
|
- - ">="
|
91
88
|
- !ruby/object:Gem::Version
|
92
89
|
version: 1.0.0
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '1'
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: bundler
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
requirements: []
|
168
|
-
|
169
|
-
rubygems_version: 2.7.6
|
168
|
+
rubygems_version: 3.0.1
|
170
169
|
signing_key:
|
171
170
|
specification_version: 4
|
172
171
|
summary: Test Kitchen driver for Azure Resource Manager.
|