Skip to content

Commit 5dc4672

Browse files
committed
Refactor to aws_iam_role_policy instead of policy attachment
1 parent 362ccf6 commit 5dc4672

File tree

7 files changed

+21
-61
lines changed

7 files changed

+21
-61
lines changed

examples/default/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module "runners" {
2828
}
2929

3030
webhook_lambda_zip = "lambdas-download/webhook.zip"
31-
runner_binaries_syncer_lambda_zip = "lambdas-download/syncer.zip"
31+
runner_binaries_syncer_lambda_zip = "lambdas-download/runner-binaries-syncer.zip"
3232
runners_lambda_zip = "lambdas-download/runners.zip"
3333
enable_organization_runners = false
3434
runner_extra_labels = "default,example"

main.tf

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,15 @@ module "webhook" {
3737
lambda_timeout = var.webhook_lambda_timeout
3838
}
3939

40-
resource "aws_iam_policy" "webhook" {
41-
name = "${var.environment}-lambda-webhook-publish-sqs-policy"
42-
description = "Lambda webhook sqs policy"
40+
resource "aws_iam_role_policy" "webhook" {
41+
name = "${var.environment}-lambda-webhook-publish-sqs-policy"
42+
role = module.webhook.role.name
4343

4444
policy = templatefile("${path.module}/policies/lambda-publish-sqs-policy.json", {
4545
sqs_resource_arn = aws_sqs_queue.queued_builds.arn
4646
})
4747
}
4848

49-
resource "aws_iam_policy_attachment" "webhook" {
50-
name = "${var.environment}-webhook-sqs"
51-
roles = [module.webhook.role.name]
52-
policy_arn = aws_iam_policy.webhook.arn
53-
}
54-
55-
5649
module "runners" {
5750
source = "./modules/runners"
5851

modules/runner-binaries-syncer/runner-binaries-syncer.tf

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,35 +38,22 @@ data "aws_iam_policy_document" "lambda_assume_role_policy" {
3838
}
3939
}
4040

41-
resource "aws_iam_policy" "lambda_logging" {
42-
name = "${var.environment}-lamda-logging-policy-syncer"
43-
description = "Lambda logging policy"
41+
resource "aws_iam_role_policy" "lambda_logging" {
42+
name = "${var.environment}-lamda-logging-policy-syncer"
43+
role = aws_iam_role.syncer_lambda.id
4444

4545
policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", {})
4646
}
4747

48-
49-
resource "aws_iam_policy_attachment" "syncer_logging" {
50-
name = "${var.environment}-logging"
51-
roles = [aws_iam_role.syncer_lambda.name]
52-
policy_arn = aws_iam_policy.lambda_logging.arn
53-
}
54-
55-
resource "aws_iam_policy" "syncer" {
56-
name = "${var.environment}-lamda-syncer-s3-policy"
57-
description = "Lambda syncer policy"
48+
resource "aws_iam_role_policy" "syncer" {
49+
name = "${var.environment}-lamda-syncer-s3-policy"
50+
role = aws_iam_role.syncer_lambda.id
5851

5952
policy = templatefile("${path.module}/policies/lambda-syncer.json", {
6053
s3_resource_arn = "${aws_s3_bucket.action_dist.arn}/${local.action_runner_distribution_object_key}"
6154
})
6255
}
6356

64-
resource "aws_iam_policy_attachment" "syncer" {
65-
name = "${var.environment}-syncer"
66-
roles = [aws_iam_role.syncer_lambda.name]
67-
policy_arn = aws_iam_policy.syncer.arn
68-
}
69-
7057
resource "aws_cloudwatch_event_rule" "syncer" {
7158
schedule_expression = var.lambda_schedule_expression
7259
tags = var.tags

modules/runners/scale-down.tf

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,12 @@ resource "aws_iam_role" "scale_down" {
4343
assume_role_policy = data.aws_iam_policy_document.lambda_assume_role_policy.json
4444
}
4545

46-
resource "aws_iam_policy" "scale_down" {
47-
name = "${var.environment}-lambda-scale-down-policy"
48-
description = "Lambda scale up policy"
49-
policy = templatefile("${path.module}/policies/lambda-scale-down.json", {})
46+
resource "aws_iam_role_policy" "scale_down" {
47+
name = "${var.environment}-lambda-scale-down-policy"
48+
role = aws_iam_role.scale_down.name
49+
policy = templatefile("${path.module}/policies/lambda-scale-down.json", {})
5050
}
5151

52-
resource "aws_iam_policy_attachment" "scale_down" {
53-
name = "${var.environment}-scale-down"
54-
roles = [aws_iam_role.scale_down.name]
55-
policy_arn = aws_iam_policy.scale_down.arn
56-
}
5752

5853

5954

modules/runners/scale-up.tf

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,12 @@ resource "aws_iam_role" "scale_up" {
4141
assume_role_policy = data.aws_iam_policy_document.lambda_assume_role_policy.json
4242
}
4343

44-
resource "aws_iam_policy" "scale_up" {
45-
name = "${var.environment}-lambda-scale-up-policy"
46-
description = "Lambda scale up policy"
44+
resource "aws_iam_role_policy" "scale_up" {
45+
name = "${var.environment}-lambda-scale-up-policy"
46+
role = aws_iam_role.scale_up.name
4747

4848
policy = templatefile("${path.module}/policies/lambda-scale-up.json", {
4949
arn_runner_instance_role = aws_iam_role.runner.arn
5050
sqs_arn = var.sqs.arn
5151
})
5252
}
53-
54-
resource "aws_iam_policy_attachment" "scale_up" {
55-
name = "${var.environment}-scale-up"
56-
roles = [aws_iam_role.scale_up.name]
57-
policy_arn = aws_iam_policy.scale_up.arn
58-
}
59-

modules/webhook/main.tf

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,8 @@ resource "aws_iam_role" "webhook_lambda" {
9292
tags = var.tags
9393
}
9494

95-
resource "aws_iam_policy" "webhook_logging" {
96-
name = "${var.environment}-lamda-logging-policy"
97-
description = "Lambda logging policy"
98-
95+
resource "aws_iam_role_policy" "webhook_logging" {
96+
name = "${var.environment}-lamda-logging-policy"
97+
role = aws_iam_role.webhook_lambda.name
9998
policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", {})
10099
}
101-
102-
resource "aws_iam_policy_attachment" "webhook_logging" {
103-
name = "${var.environment}-logging"
104-
roles = [aws_iam_role.webhook_lambda.name]
105-
policy_arn = aws_iam_policy.webhook_logging.arn
106-
}

modules/webhook/variables.tf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ variable "tags" {
2020

2121
variable "sqs_build_queue" {
2222
type = object({
23-
id = string
24-
arn = string
23+
id = string
2524
})
2625
}
2726

0 commit comments

Comments
 (0)