-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tf
85 lines (79 loc) · 3.92 KB
/
main.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
* # AWS EKS KEDA Controller Terraform module
*
* A Terraform module to deploy the [KEDA](https://github.com/kedacore/keda) on Amazon EKS cluster.
*
* [](https://github.com/lablabs/terraform-aws-eks-keda/actions/workflows/validate.yaml)
* [](https://github.com/lablabs/terraform-aws-eks-keda/actions/workflows/pre-commit.yaml)
*/
locals {
addon = {
name = "keda-controller"
helm_chart_name = "keda"
helm_chart_version = "2.14.2"
helm_repo_url = "https://kedacore.github.io/charts"
}
addon_irsa = {
operator = {
service_account_create = var.keda_operator_service_account_create
service_account_name = var.keda_operator_service_account_name
irsa_role_create = var.keda_operator_irsa_role_create
irsa_policy_enabled = var.keda_operator_irsa_policy_enabled
irsa_policy = var.keda_operator_irsa_policy
irsa_assume_role_enabled = var.keda_operator_irsa_assume_role_enabled
irsa_assume_role_arns = var.keda_operator_irsa_assume_role_arns
irsa_permissions_boundary = var.keda_operator_irsa_permissions_boundary
irsa_additional_policies = var.keda_operator_irsa_additional_policies
}
metricServer = {
service_account_create = var.keda_metric_server_service_account_create
service_account_name = var.keda_metric_server_service_account_name
irsa_role_create = var.keda_metric_server_irsa_role_create
irsa_policy_enabled = var.keda_metric_server_irsa_policy_enabled
irsa_policy = var.keda_metric_server_irsa_policy
irsa_assume_role_enabled = var.keda_metric_server_irsa_assume_role_enabled
irsa_assume_role_arns = var.keda_metric_server_irsa_assume_role_arns
irsa_permissions_boundary = var.keda_metric_server_irsa_permissions_boundary
irsa_additional_policies = var.keda_metric_server_irsa_additional_policies
}
webhooks = {
service_account_create = var.keda_webhooks_service_account_create
service_account_name = var.keda_webhooks_service_account_name
irsa_role_create = var.keda_webhooks_irsa_role_create
irsa_policy_enabled = var.keda_webhooks_irsa_policy_enabled
irsa_policy = var.keda_webhooks_irsa_policy
irsa_assume_role_enabled = var.keda_webhooks_irsa_assume_role_enabled
irsa_assume_role_arns = var.keda_webhooks_irsa_assume_role_arns
irsa_permissions_boundary = var.keda_webhooks_irsa_permissions_boundary
irsa_additional_policies = var.keda_webhooks_irsa_additional_policies
}
}
addon_values = yamlencode({
rbac = {
create = var.rbac_create != null ? var.rbac_create : true
}
serviceAccount = {
operator = {
create = var.keda_operator_service_account_create
name = var.keda_operator_service_account_name
annotations = module.addon-irsa["operator"].irsa_role_enabled ? {
"eks.amazonaws.com/role-arn" = module.addon-irsa["operator"].iam_role_attributes.arn
} : tomap({})
}
metricServer = {
create = var.keda_metric_server_service_account_create
name = var.keda_metric_server_service_account_name
annotations = module.addon-irsa["metricServer"].irsa_role_enabled ? {
"eks.amazonaws.com/role-arn" = module.addon-irsa["metricServer"].iam_role_attributes.arn
} : tomap({})
}
webhooks = {
create = var.keda_webhooks_service_account_create
name = var.keda_webhooks_service_account_name
annotations = module.addon-irsa["webhooks"].irsa_role_enabled ? {
"eks.amazonaws.com/role-arn" = module.addon-irsa["webhooks"].iam_role_attributes.arn
} : tomap({})
}
}
})
}