@@ -111,9 +111,10 @@ data "template_file" "runners" {
111
111
runners_spot_price_bid = " ${ var . docker_machine_spot_price_bid } "
112
112
runners_security_group_name = " ${ aws_security_group . docker_machine . name } "
113
113
runners_monitoring = " ${ var . runners_monitoring } "
114
+ runners_instance_profile = " ${ aws_iam_instance_profile . docker_machine . name } "
114
115
docker_machine_options = " ${ length (var. docker_machine_options ) == 0 ? " " : local . docker_machine_options_string } "
115
116
runners_name = " ${ var . runners_name } "
116
- runners_tags = " ${ local . tags_string } "
117
+ runners_tags = " ${ local . tags_string } ,Name, ${ var . environment } -docker-machine "
117
118
runners_token = " ${ var . runners_token } "
118
119
runners_executor = " ${ var . runners_executor } "
119
120
runners_limit = " ${ var . runners_limit } "
@@ -194,27 +195,27 @@ resource "aws_iam_role" "instance" {
194
195
}
195
196
196
197
# ###############################################################################
197
- # ## docker machine instance policy
198
+ # ## Policies for runner agent instance to create docker machines via spot req.
198
199
# ###############################################################################
199
- data "template_file" "docker_machine_policy " {
200
+ data "template_file" "instance_docker_machine_policy " {
200
201
template = " ${ file (" ${ path . module } /policies/instance-docker-machine-policy.json" )} "
201
202
}
202
203
203
- resource "aws_iam_policy" "docker_machine " {
204
+ resource "aws_iam_policy" "instance_docker_machine_policy " {
204
205
name = " ${ var . environment } -docker-machine"
205
206
path = " /"
206
207
description = " Policy for docker machine."
207
208
208
- policy = " ${ data . template_file . docker_machine_policy . rendered } "
209
+ policy = " ${ data . template_file . instance_docker_machine_policy . rendered } "
209
210
}
210
211
211
- resource "aws_iam_role_policy_attachment" "docker_machine " {
212
+ resource "aws_iam_role_policy_attachment" "instance_docker_machine_policy " {
212
213
role = " ${ aws_iam_role . instance . name } "
213
- policy_arn = " ${ aws_iam_policy . docker_machine . arn } "
214
+ policy_arn = " ${ aws_iam_policy . instance_docker_machine_policy . arn } "
214
215
}
215
216
216
217
# ###############################################################################
217
- # ## docker machine policy to access the shared cache
218
+ # ## Policy to access the shared for the runner agent instance
218
219
# ###############################################################################
219
220
data "template_file" "docker_machine_cache_policy" {
220
221
template = " ${ file (" ${ path . module } /policies/cache.json" )} "
@@ -232,11 +233,28 @@ resource "aws_iam_policy" "docker_machine_cache" {
232
233
policy = " ${ data . template_file . docker_machine_cache_policy . rendered } "
233
234
}
234
235
235
- resource "aws_iam_role_policy_attachment" "docker_machine_cache " {
236
+ resource "aws_iam_role_policy_attachment" "docker_machine_cache_instance " {
236
237
role = " ${ aws_iam_role . instance . name } "
237
238
policy_arn = " ${ aws_iam_policy . docker_machine_cache . arn } "
238
239
}
239
240
241
+ # ###############################################################################
242
+ # ## docker machine instance policy
243
+ # ###############################################################################
244
+ data "template_file" "dockermachine_role_trust_policy" {
245
+ template = " ${ file (" ${ path . module } /policies/instance-role-trust-policy.json" )} "
246
+ }
247
+
248
+ resource "aws_iam_role" "docker_machine" {
249
+ name = " ${ var . environment } -docker-marchine-role"
250
+ assume_role_policy = " ${ data . template_file . dockermachine_role_trust_policy . rendered } "
251
+ }
252
+
253
+ resource "aws_iam_instance_profile" "docker_machine" {
254
+ name = " ${ var . environment } -dockermachine-profile"
255
+ role = " ${ aws_iam_role . docker_machine . name } "
256
+ }
257
+
240
258
# ###############################################################################
241
259
# ## Service linked policy, optional
242
260
# ###############################################################################
0 commit comments