-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
153 lines (132 loc) · 4.42 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
variable "provider_region" {
type = string
description = "Region to be used within the GCP provider."
default = "europe-west3"
}
variable "provider_project_id" {
type = string
description = "Project to be used within the GCP Provider."
}
variable "env" {
type = string
description = "Environment identifier for the resources."
default = "dev"
}
variable "prefix" {
type = string
description = "Prefix to add to the resources."
default = "starter"
}
variable "app-bu" {
type = string
description = "Identifier of the owner (either an Application or Business Unit)"
default = "ops"
}
variable "subnet_cidrs" {
type = object({
gke = string
gke_services = string
gke_pods = string
})
description = "Object with mappings for the subnet CIDRs based on the context."
}
variable "gke_initial_node_count" {
type = number
description = "Number of the cluster nodes deployed initially in default node pool."
default = 0
}
variable "gke_kubernetes_version" {
type = string
description = "Version of the Kubernetes to run on GKE cluster."
default = "latest"
}
variable "gke_maintenance_start_time" {
type = string
description = "UTC time for the maintenance window of the GKE cluster."
default = "04:00"
}
variable "gke_cluster_autoscaling" {
type = object({
enabled = bool
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
})
description = "Cluster autoscaling configuration."
}
variable "gke_node_pools" {
type = list(object({
name = string
machine_type = string
preemptible = bool
disk_type = string
disk_size_gb = number
autoscaling = bool
auto_repair = bool
sandbox_enabled = bool
cpu_manager_policy = string
cpu_cfs_quota = bool
enable_integrity_monitoring = bool
enable_secure_boot = bool
image_type = string
}))
description = "Node pools to be created for the GKE cluster."
}
variable "gke_additional_master_authorized_networks" {
type = list(object({
cidr_block = string
display_name = string
}))
description = "List of the additional Master Authorized Networks for the GKE cluster."
default = []
}
variable "gke_cluster_admins" {
type = list(string)
description = "List of users that will have cluster-admin role binding created."
default = []
}
variable "gke_regional_cluster_enabled" {
type = bool
description = "Flag to either enable regional (true) or zonal (false) mode for cluster."
default = false
}
variable "gke_private_cluster_enabled" {
type = bool
description = "Flag to either enable private endpoint and nodes, or use regular public endpoint and nodes with public ips."
default = true
}
variable "cloud_dns_zone_domains" {
type = list(string)
description = "List of the domains that should have Cloud DNS zones created."
}
variable "openvpn_users" {
type = list(string)
description = "List of the OpenVPN users to be created. (if list is empty, OpenVPN instance will not be created)"
default = []
}
variable "helm_deploy_enabled" {
type = bool
description = "Flag to enable or disable deployment of the helm-charts module into the cluster."
default = true
}
variable "helm_cert_manager_issuer_email" {
type = string
description = "Email to be configured for Letsencrypt ACME notifications. (ignored with helm_deploy_enabled false)"
}
variable "helm_external_nginx_ingress_enabled" {
type = bool
default = true
description = "Flag to enable or disable deployment of the nginx-ingress external ingress controller. (ignored with helm_deploy_enabled false)"
}
variable "helm_internal_nginx_ingress_enabled" {
type = bool
default = true
description = "Flag to enable or disable deployment of the nginx-ingress internal ingress controller. (ignored with helm_deploy_enabled false)"
}
variable "cloudnat_enabled" {
type = bool
description = "Flag to enable or disable deployment of the CloudNat. (required with private cluster)"
default = true
}