-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
316 lines (274 loc) · 8.67 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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
/*
==============================
Azure Resource Group Variables
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group
==============================
*/
variable "resource_group_name" {
default = "aks-ondat-demo"
type = string
sensitive = false
description = "The resource group name where resources will be provisioned."
}
variable "resource_group_location" {
default = "North Europe"
type = string
sensitive = false
description = "The Azure region where resources will be provisioned."
}
variable "resource_group_tags" {
default = { environment = "ondat-demo" }
type = map(string)
sensitive = false
description = "The key-value tag(s) that will be set for the Resource Group."
}
/*
=======================
Azure Monitor Variables
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_workspace
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_solution
=======================
*/
variable "log_analytics_workspace_name" {
default = "aks-ondat-monitoring"
type = string
sensitive = false
description = "The name to be used to provision Log Analytics workspace resources."
}
variable "log_analytics_workspace_pricing_tier" {
default = "PerGB2018"
type = string
sensitive = false
description = "The sku/pricing tier to be used to provision Log Analytics workspace resources."
}
variable "log_analytics_workspace_retention" {
default = 30
type = number
sensitive = false
description = "The Log Analytics workspace data retention in days."
}
variable "log_analytics_workspace_daily_quota" {
default = 0.5
type = number
sensitive = false
description = "The Log Analytics workspace daily quota for ingestion in GB."
}
variable "azurerm_monitor_diagnostics_name" {
default = "PerGB2018"
type = string
sensitive = false
description = "The name of the diagnostic setting to be provisioned."
}
/*
==========================================
Managed Azure Kubernetes Service Variables
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster
==========================================
*/
variable "cluster_name" {
default = "ondat-cluster"
type = string
sensitive = false
description = "The name of the AKS cluster to be created."
}
variable "cluster_auto_upgrade" {
default = "stable"
type = string
sensitive = false
description = "The upgrade channel for the AKS Cluster."
}
variable "cluster_kubernetes_version" {
default = "1.23.5"
type = string
sensitive = false
description = "The Kubernetes version for the AKS Cluster."
}
variable "cluster_pricing_tier" {
default = "Free"
type = string
sensitive = false
description = "The sku/pricing tier to be used to provision resources."
}
variable "idenity_profile_type" {
default = "SystemAssigned"
type = string
sensitive = false
description = "The type of identity used for the AKS cluster."
}
variable "network_profile_plugin" {
default = "kubenet"
type = string
sensitive = false
description = "The network plugin to use for networking in the AKS cluster."
}
variable "network_profile_mode" {
default = "transparent"
type = string
sensitive = false
description = "The network plugin to use with Azure CNI in the AKS cluster."
}
variable "network_profile_policy" {
default = "calico"
type = string
sensitive = false
description = "The network policy to use with Azure CNI in the AKS cluster."
}
variable "linux_profile_username" {
default = "ubuntu"
type = string
sensitive = false
description = "The admin username for the AKS cluster."
}
variable "linux_profile_public_ssh_key" {
default = "~/.ssh/id_rsa_aks.pub"
type = string
sensitive = true
description = "The path at which your ssh key for the AKS cluster is located."
}
variable "default_node_pool_name" {
default = "default"
type = string
sensitive = false
description = "The name which should be used for the default AKS cluster node pool."
}
variable "default_node_pool_vm_size" {
default = "Standard_DS2_v2"
type = string
sensitive = false
description = "The size of the virtual machine to be used in the default AKS cluster node pool."
}
variable "default_node_pool_availability_zones" {
default = ["1", "2", "3"]
type = list(string)
sensitive = false
description = "A list of Availability Zones across which the node pool should be spread in the default AKS cluster node pool."
}
variable "default_node_pool_vm_type" {
default = "VirtualMachineScaleSets"
type = string
sensitive = false
description = "The type of node pool which should be created in the default AKS cluster node pool."
}
variable "default_node_pool_kubelet_disk_type" {
default = "OS"
type = string
sensitive = false
description = " The type of disk used by kubelet in the default AKS cluster node pool."
}
variable "default_node_pool_node_labels" {
default = { "storageos.com/computeonly" = "true" }
type = map(string)
sensitive = false
description = "Kubernetes labels which will be applied to nodes in the default AKS cluster node pool."
}
variable "default_node_pool_os_disk_type" {
default = "Managed"
type = string
sensitive = false
description = "The type of disk which should be used for the node operating system in the default AKS cluster node pool."
}
variable "default_node_pool_os_disk_size_gb" {
default = 512
type = number
sensitive = false
description = "The disk size for the node operating system which should be used in the default AKS cluster node pool."
}
variable "default_node_pool_os_type" {
default = "Ubuntu"
type = string
sensitive = false
description = "The type of Linux operating system which should be used for the nodes in the default AKS cluster node pool."
}
variable "default_node_pool_node_count" {
default = 3
type = number
sensitive = false
description = "The number of nodes which provisioned in the default AKS cluster node pool."
}
/*
============================================
Azure Kubernetes Service Node Pool Variables
============================================
*/
variable "node_pool_1" {
default = "storage"
type = string
sensitive = false
description = "The name which should be used for node_pool_1."
}
variable "node_pool_1_vm_size" {
default = "Standard_DS2_v2"
type = string
sensitive = false
description = "The size of the virtual machine to be used in thenode_pool_1."
}
variable "node_pool_1_availability_zones" {
default = ["1", "2", "3"]
type = list(string)
sensitive = false
description = "A list of Availability Zones across which the node pool should be spread in node_pool_1."
}
variable "node_pool_1_os_disk_size_gb" {
default = 1024
type = number
sensitive = false
description = "The disk size for the node operating system which should be used in the node_pool_1."
}
variable "node_pool_1_node_count" {
default = 2
type = number
sensitive = false
description = "The number of nodes which provisioned in the node_pool_1."
}
/*
====================
Local File Variables
====================
*/
variable "kubeconfig_filename" {
default = "kubeconfig"
type = string
sensitive = false
description = "The path and name of the kubeconfig to create."
}
/*
===============
Ondat Variables
===============
*/
variable "ondat_admin_username" {
default = "storageos"
type = string
sensitive = false
description = "The admin username for Ondat."
}
variable "ondat_admin_password" {
default = "storageos"
type = string
sensitive = false
description = "The admin password for Ondat."
}
variable "ondat_namespace" {
default = "storageos"
type = string
sensitive = false
description = "The namespace where Ondat components will be deployed."
}
variable "ondat_etcd_namespace" {
default = "storageos-etcd"
type = string
sensitive = false
description = "The namespace where Ondat's etcd will be deployed."
}
variable "ondat_etcd_storage_class" {
default = "default"
type = string
sensitive = false
description = "The storage class type that Ondat's etcd will use."
}
variable "ondat_version" {
default = "v2.7.0"
type = string
sensitive = false
description = "The Ondat version that will be deployed."
}