Skip to content

Commit e6d262a

Browse files
committed
Merge branch 'release/2.3.0'
2 parents 0babdc9 + 1522600 commit e6d262a

File tree

4 files changed

+39
-10
lines changed

4 files changed

+39
-10
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
66

77
## [Unreleased]
88

9+
## [2.3.0] - 2019-03-27
10+
- Bugfix: Added a profile for the docker machine runners. #41
11+
- Changed: Changed the name of runner instance, added `docker-machine` to the name.
12+
913
## [2.2.1] - 2019-03-19
1014
- Bugfix: Add tags to spot instances #39
1115
- Changed: Updated terraform providers in examples and default terraform version
@@ -98,7 +102,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
98102
- Update default AMI's to The latest Amazon Linux AMI 2017.09.1 - released on 2018-01-17.
99103
- Minor updates in the example
100104

101-
[Unreleased]: https://github.com/npalm/terraform-aws-gitlab-runner/compare/2.2.1...HEAD
105+
[Unreleased]: https://github.com/npalm/terraform-aws-gitlab-runner/compare/2.3.0...HEAD
106+
[2.3.0]: https://github.com/npalm/terraform-aws-gitlab-runner/compare/2.2.1...2.3.0
102107
[2.2.1]: https://github.com/npalm/terraform-aws-gitlab-runner/compare/2.2.0...2.2.1
103108
[2.2.0]: https://github.com/npalm/terraform-aws-gitlab-runner/compare/2.1.0...2.2.0
104109
[2.1.0]: https://github.com/npalm/terraform-aws-gitlab-runner/compare/2.0.0...2.1.0

main.tf

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,10 @@ data "template_file" "runners" {
111111
runners_spot_price_bid = "${var.docker_machine_spot_price_bid}"
112112
runners_security_group_name = "${aws_security_group.docker_machine.name}"
113113
runners_monitoring = "${var.runners_monitoring}"
114+
runners_instance_profile = "${aws_iam_instance_profile.docker_machine.name}"
114115
docker_machine_options = "${length(var.docker_machine_options) == 0 ? "" : local.docker_machine_options_string}"
115116
runners_name = "${var.runners_name}"
116-
runners_tags = "${local.tags_string}"
117+
runners_tags = "${local.tags_string},Name,${var.environment}-docker-machine"
117118
runners_token = "${var.runners_token}"
118119
runners_executor = "${var.runners_executor}"
119120
runners_limit = "${var.runners_limit}"
@@ -194,27 +195,27 @@ resource "aws_iam_role" "instance" {
194195
}
195196

196197
################################################################################
197-
### docker machine instance policy
198+
### Policies for runner agent instance to create docker machines via spot req.
198199
################################################################################
199-
data "template_file" "docker_machine_policy" {
200+
data "template_file" "instance_docker_machine_policy" {
200201
template = "${file("${path.module}/policies/instance-docker-machine-policy.json")}"
201202
}
202203

203-
resource "aws_iam_policy" "docker_machine" {
204+
resource "aws_iam_policy" "instance_docker_machine_policy" {
204205
name = "${var.environment}-docker-machine"
205206
path = "/"
206207
description = "Policy for docker machine."
207208

208-
policy = "${data.template_file.docker_machine_policy.rendered}"
209+
policy = "${data.template_file.instance_docker_machine_policy.rendered}"
209210
}
210211

211-
resource "aws_iam_role_policy_attachment" "docker_machine" {
212+
resource "aws_iam_role_policy_attachment" "instance_docker_machine_policy" {
212213
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}"
214215
}
215216

216217
################################################################################
217-
### docker machine policy to access the shared cache
218+
### Policy to access the shared for the runner agent instance
218219
################################################################################
219220
data "template_file" "docker_machine_cache_policy" {
220221
template = "${file("${path.module}/policies/cache.json")}"
@@ -232,11 +233,28 @@ resource "aws_iam_policy" "docker_machine_cache" {
232233
policy = "${data.template_file.docker_machine_cache_policy.rendered}"
233234
}
234235

235-
resource "aws_iam_role_policy_attachment" "docker_machine_cache" {
236+
resource "aws_iam_role_policy_attachment" "docker_machine_cache_instance" {
236237
role = "${aws_iam_role.instance.name}"
237238
policy_arn = "${aws_iam_policy.docker_machine_cache.arn}"
238239
}
239240

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+
240258
################################################################################
241259
### Service linked policy, optional
242260
################################################################################

outputs.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,8 @@ output "runner_agent_role" {
1212
description = "ARN of the rule used for the ec2 instance for the GitLab runner agent."
1313
value = "${aws_iam_role.instance.arn}"
1414
}
15+
16+
output "runner_role" {
17+
description = "ARN of the rule used for the docker machine runners."
18+
value = "${aws_iam_role.docker_machine.arn}"
19+
}

template/runner-config.tpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ check_interval = 0
4444
"amazonec2-security-group=${runners_security_group_name}",
4545
"amazonec2-tags=${runners_tags}",
4646
"amazonec2-monitoring=${runners_monitoring}",
47+
"amazonec2-iam-instance-profile=${runners_instance_profile}",
4748
"amazonec2-root-size=${runners_root_size}"
4849
${docker_machine_options}
4950
]

0 commit comments

Comments
 (0)