generated from getupcloud/terraform-cluster-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables-common.tf
147 lines (124 loc) · 3.48 KB
/
variables-common.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
## Common variables to all providers
## Copy to cluster repo
variable "cluster_name" {
description = "Cluster name"
type = string
}
variable "cluster_sla" {
description = "Cluster SLA"
type = string
default = "none"
validation {
condition = contains(["high", "low", "none"], var.cluster_sla)
error_message = "The Cluster SLA is invalid."
}
}
variable "customer_name" {
description = "Customer name"
type = string
}
variable "cluster_provider" {
description = "Cluster provider name"
type = string
default = "none"
validation {
condition = contains(["aws", "azure", "do", "gcp", "none", "oci"], var.cluster_provider)
error_message = "The Cluster Provider is invalid."
}
}
variable "flux_git_repo" {
description = "GitRepository URL"
type = string
default = ""
}
variable "flux_version" {
description = "Flux version to install"
type = string
default = "v2.3.0"
}
variable "flux_install_file" {
description = "Use this file to install flux instead default files. Using this options will ignore var.flux_version"
type = string
default = ""
}
variable "flux_identity_file" {
description = "SSH deploy private key"
type = string
default = "identity"
}
variable "flux_identity_pub_file" {
description = "SSH deploy public key"
type = string
default = "identity.pub"
}
variable "flux_wait" {
description = "Wait for all manifests to apply"
type = bool
default = true
}
variable "kubeconfig_filename" {
description = "Kubeconfig path"
default = "~/.kube/config"
type = string
}
variable "manifests_path" {
description = "Manifests dir inside GitRepository"
type = string
default = ""
}
variable "manifests_template_vars" {
description = "Template vars for use by cluster manifests"
type = any
default = {
alertmanager_pagerduty_service_key : ""
alertmanager_slack_channel : ""
alertmanager_slack_api_url : ""
alertmanager_msteams_url : ""
alertmanager_default_receiver : "blackhole" ## opsgenie, pagerduty, slack, blackhole
alertmanager_ignore_alerts : ["CPUThrottlingHigh"]
alertmanager_ignore_namespaces : [
"cert-manager", "getup", "ingress-.*", "logging", "monitoring", "velero",
".*-controllers", ".*-ingress", ".*istio.*", ".*-operator", ".*-provisioner", ".*-system"
]
}
}
variable "cronitor_id" {
description = "Cronitor Monitor ID (6 chars key)."
type = string
default = ""
}
variable "opsgenie_integration_api_key" {
description = "Opsgenie integration API key to send alerts."
type = string
default = ""
}
variable "modules" {
description = "Configure modules to install"
type = any
default = {}
}
variable "post_create" {
description = "Scripts to execute after cluster is created."
type = list(string)
default = []
}
variable "pre_create" {
description = "Scripts to execute before cluster is created."
type = list(string)
default = []
}
variable "teleport_auth_token" {
description = "Teleport Agent Auth Token"
type = string
default = ""
}
variable "use_kubeconfig" {
description = "Should kubernetes/kubectl providers use local kubeconfig or credentials from cloud module"
type = bool
default = false
}
variable "dump_debug" {
description = "Dump debug info to files .debug-*.json"
type = bool
default = false
}