-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
119 lines (101 loc) · 3.8 KB
/
variables.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#######################
## Standard variables
#######################
variable "cluster_name" {
description = "Name given to the cluster. Value used for naming some the resources created by the module."
type = string
default = "cluster"
}
variable "argocd_project" {
description = "Name of the Argo CD AppProject where the Application should be created. If not set, the Application will be created in a new AppProject only for this Application."
type = string
default = null
}
variable "argocd_labels" {
description = "Labels to attach to the Argo CD Application resource."
type = map(string)
default = {}
}
variable "destination_cluster" {
description = "Destination cluster where the application should be deployed."
type = string
default = "in-cluster"
}
variable "target_revision" {
description = "Override of target revision of the application chart."
type = string
default = "v5.0.0" # x-release-please-version
}
variable "helm_values" {
description = "Helm chart value overrides. They should be passed as a list of HCL structures."
type = any
default = []
}
variable "app_autosync" {
description = "Automated sync options for the Argo CD Application resource."
type = object({
allow_empty = optional(bool)
prune = optional(bool)
self_heal = optional(bool)
})
default = {
allow_empty = false
prune = true
self_heal = true
}
}
variable "dependency_ids" {
description = "IDs of the other modules on which this module depends on."
type = map(string)
default = {}
}
#######################
## Module variables
#######################
variable "resources" {
description = <<-EOT
Resource limits and requests for aws-efs-csi-driver's components. Follow the style on https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[official documentation] to understand the format of the values."
NOTE: These are the same values as the defaults on the Helm chart aws-efs-csi-driver.
EOT
type = object({
controller = optional(object({
requests = optional(object({
cpu = optional(string, "10m")
memory = optional(string, "40Mi")
}), {})
limits = optional(object({
cpu = optional(string)
memory = optional(string, "256Mi")
}), {})
}), {})
node = optional(object({
requests = optional(object({
cpu = optional(string, "10m")
memory = optional(string, "40Mi")
}), {})
limits = optional(object({
cpu = optional(string)
memory = optional(string, "256Mi")
}), {})
}), {})
})
default = {}
}
variable "efs_file_system_id" {
description = "EFS Filesystem ID to use by the CSI driver to create volumes."
type = string
}
variable "create_role" {
description = "Boolean to indicate that the OIDC assumable IAM role should be created. **If passing `iam_role_arn` this should be false, otherwise if you want to create the OIDC assumable IAM role provided by this module, you will need to specify the variable `cluster_oidc_issuer_url`.**"
type = bool
}
variable "iam_role_arn" {
description = "ARN of an OIDC assumable IAM role that has access to the EFS filesystem. When specified, this is added as an annotation to the EFS CSI driver controller ServiceAccount, to allow the driver to manage EFS access points for dynamic volumes provisioning."
type = string
default = null
}
variable "cluster_oidc_issuer_url" {
description = "Cluster OIDC issuer URL used to create the OIDC assumable IAM role. This variable is required to create a IAM role if you set `create_role` as true."
type = string
default = "" # Use empty string instead of null because of the replace() that uses this variable.
}