kitchen-azurerm 0.14.7 → 0.14.8
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|