This repository was archived by the owner on Jan 16, 2025. It is now read-only.
File tree 13 files changed +122
-88
lines changed
13 files changed +122
-88
lines changed Original file line number Diff line number Diff line change @@ -202,6 +202,7 @@ module "runners" {
202
202
ami_filter = var. ami_filter
203
203
ami_owners = var. ami_owners
204
204
ami_id_ssm_parameter_name = var. ami_id_ssm_parameter_name
205
+ ami_kms_key_arn = var. ami_kms_key_arn
205
206
206
207
sqs_build_queue = aws_sqs_queue. queued_builds
207
208
github_app_parameters = local. github_app_parameters
Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ module "runners" {
29
29
ami_filter = each. value . runner_config . ami_filter
30
30
ami_owners = each. value . runner_config . ami_owners
31
31
ami_id_ssm_parameter_name = each. value . runner_config . ami_id_ssm_parameter_name
32
+ ami_kms_key_arn = each. value . runner_config . ami_kms_key_arn
32
33
33
34
sqs_build_queue = { " arn" : each.value.arn }
34
35
github_app_parameters = local. github_app_parameters
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ variable "multi_runner_config" {
39
39
ami_filter = optional (map (list (string )), null )
40
40
ami_owners = optional (list (string ), [" amazon" ])
41
41
ami_id_ssm_parameter_name = optional (string , null )
42
+ ami_kms_key_arn = optional (string , " " )
42
43
create_service_linked_role_spot = optional (bool , false )
43
44
delay_webhook_event = optional (number , 30 )
44
45
disable_runner_autoupdate = optional (bool , false )
Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change @@ -17,7 +17,6 @@ locals {
17
17
userdata_template = var. userdata_template == null ? local. default_userdata_template [var . runner_os ] : var. userdata_template
18
18
kms_key_arn = var. kms_key_arn != null ? var. kms_key_arn : " "
19
19
s3_location_runner_distribution = var. enable_runner_binaries_syncer ? " s3://${ var . s3_runner_binaries . id } /${ var . s3_runner_binaries . key } " : " "
20
-
21
20
default_ami = {
22
21
" windows" = { name = [" Windows_Server-2022-English-Core-ContainersLatest-*" ] }
23
22
" linux" = var.runner_architecture == " arm64" ? { name = [" amzn2-ami-kernel-5.*-hvm-*-arm64-gp2" ] } : { name = [" amzn2-ami-kernel-5.*-hvm-*-x86_64-gp2" ] }
@@ -38,7 +37,8 @@ locals {
38
37
" linux" = " ${ path . module } /templates/start-runner.sh"
39
38
}
40
39
41
- ami_filter = coalesce (var. ami_filter , local. default_ami [var . runner_os ])
40
+ ami_kms_key_arn = var. ami_kms_key_arn != null ? var. ami_kms_key_arn : " "
41
+ ami_filter = coalesce (var. ami_filter , local. default_ami [var . runner_os ])
42
42
43
43
enable_job_queued_check = var. enable_job_queued_check == null ? ! var. enable_ephemeral_runners : var. enable_job_queued_check
44
44
}
Original file line number Diff line number Diff line change 52
52
" kms:Decrypt"
53
53
],
54
54
"Resource" : " ${kms_key_arn}"
55
+ %{ endif ~ }
56
+ %{ if ami_kms_key_arn != "" ~}
57
+ },
58
+ {
59
+ "Effect" : " Allow" ,
60
+ "Action" : [
61
+ " kms:DescribeKey" ,
62
+ " kms:ReEncrypt*" ,
63
+ " kms:Decrypt"
64
+ ],
65
+ "Resource" : " ${ami_kms_key_arn}"
55
66
%{ endif ~ }
56
67
}
57
68
]
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ module "pool" {
15
15
instance_target_capacity_type = var.instance_target_capacity_type
16
16
instance_types = var.instance_types
17
17
kms_key_arn = local.kms_key_arn
18
+ ami_kms_key_arn = local.ami_kms_key_arn
18
19
lambda = {
19
20
log_level = var.log_level
20
21
log_type = var.log_type
Original file line number Diff line number Diff line change @@ -72,6 +72,7 @@ resource "aws_iam_role_policy" "pool" {
72
72
github_app_id_arn = var.config.github_app_parameters.id.arn
73
73
github_app_key_base64_arn = var.config.github_app_parameters.key_base64.arn
74
74
kms_key_arn = var.config.kms_key_arn
75
+ ami_kms_key_arn = var.config.ami_kms_key_arn
75
76
})
76
77
}
77
78
Original file line number Diff line number Diff line change 43
43
" kms:Decrypt"
44
44
],
45
45
"Resource" : " ${kms_key_arn}"
46
+ %{ endif ~ }
47
+ %{ if ami_kms_key_arn != "" ~}
48
+ },
49
+ {
50
+ "Effect" : " Allow" ,
51
+ "Action" : [
52
+ " kms:DescribeKey" ,
53
+ " kms:ReEncrypt*" ,
54
+ " kms:Decrypt"
55
+ ],
56
+ "Resource" : " ${ami_kms_key_arn}"
46
57
%{ endif ~ }
47
58
}
48
59
]
Original file line number Diff line number Diff line change @@ -51,6 +51,7 @@ variable "config" {
51
51
}))
52
52
role_permissions_boundary = string
53
53
kms_key_arn = string
54
+ ami_kms_key_arn = string
54
55
role_path = string
55
56
ssm_token_path = string
56
57
})
Original file line number Diff line number Diff line change @@ -88,6 +88,7 @@ resource "aws_iam_role_policy" "scale_up" {
88
88
github_app_id_arn = var.github_app_parameters.id.arn
89
89
github_app_key_base64_arn = var.github_app_parameters.key_base64.arn
90
90
kms_key_arn = local.kms_key_arn
91
+ ami_kms_key_arn = local.ami_kms_key_arn
91
92
})
92
93
}
93
94
Original file line number Diff line number Diff line change @@ -142,6 +142,12 @@ variable "ami_id_ssm_parameter_name" {
142
142
default = null
143
143
}
144
144
145
+ variable "ami_kms_key_arn" {
146
+ description = " Optional CMK Key ARN to be used to launch an instance from a shared encrypted AMI"
147
+ type = string
148
+ default = null
149
+ }
150
+
145
151
variable "enable_userdata" {
146
152
description = " Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI"
147
153
type = bool
Original file line number Diff line number Diff line change @@ -307,6 +307,12 @@ variable "ami_id_ssm_parameter_name" {
307
307
default = null
308
308
}
309
309
310
+ variable "ami_kms_key_arn" {
311
+ description = " Optional CMK Key ARN to be used to launch an instance from a shared encrypted AMI"
312
+ type = string
313
+ default = null
314
+ }
315
+
310
316
variable "lambda_s3_bucket" {
311
317
description = " S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly."
312
318
type = string
You can’t perform that action at this time.
0 commit comments