forked from poseidon/terraform-render-bootstrap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
119 lines (99 loc) · 3.45 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
variable "cluster_name" {
type = string
description = "Cluster name"
}
variable "api_servers" {
type = list(string)
description = "List of URLs used to reach kube-apiserver"
}
variable "etcd_servers" {
type = list(string)
description = "List of URLs used to reach etcd servers."
}
# optional
variable "kv_version" {
type = string
description = "kube-vip version"
default = "v0.4.4"
}
variable "kv_interface" {
type = string
description = "Set the INTERFACE name to the name of the interface on the control plane(s) which will announce the VIP. In many Linux distributions this can be found with the 'ip a' command."
default = "eno1"
}
variable "networking" {
type = string
description = "Choice of networking provider (flannel or calico or cilium)"
default = "flannel"
}
variable "network_mtu" {
type = number
description = "CNI interface MTU (only applies to calico)"
default = 1500
}
variable "network_encapsulation" {
type = string
description = "Network encapsulation mode either ipip or vxlan (only applies to calico)"
default = "ipip"
}
variable "network_ip_autodetection_method" {
type = string
description = "Method to autodetect the host IPv4 address (only applies to calico)"
default = "first-found"
}
variable "pod_cidr" {
type = string
description = "CIDR IP range to assign Kubernetes pods"
default = "10.2.0.0/16"
}
variable "service_cidr" {
type = string
description = <<EOD
CIDR IP range to assign Kubernetes services.
The 1st IP will be reserved for kube_apiserver, the 10th IP will be reserved for kube-dns.
EOD
default = "10.3.0.0/24"
}
variable "container_images" {
type = map(string)
description = "Container images to use"
default = {
calico = "quay.io/calico/node:v3.23.1"
calico_cni = "quay.io/calico/cni:v3.23.1"
cilium_agent = "quay.io/cilium/cilium:v1.11.6"
cilium_operator = "quay.io/cilium/operator-generic:v1.11.6"
coredns = "k8s.gcr.io/coredns/coredns:v1.8.6"
flannel = "quay.io/coreos/flannel:v0.15.1"
flannel_cni = "quay.io/poseidon/flannel-cni:v0.4.2"
kube_apiserver = "k8s.gcr.io/kube-apiserver:v1.24.2"
kube_controller_manager = "k8s.gcr.io/kube-controller-manager:v1.24.2"
kube_scheduler = "k8s.gcr.io/kube-scheduler:v1.24.2"
kube_proxy = "k8s.gcr.io/kube-proxy:v1.24.2"
}
}
variable "enable_reporting" {
type = bool
description = "Enable usage or analytics reporting to upstream component owners (Tigera: Calico)"
default = false
}
variable "enable_aggregation" {
type = bool
description = "Enable the Kubernetes Aggregation Layer (defaults to true)"
default = true
}
variable "daemonset_tolerations" {
type = list(string)
description = "List of additional taint keys kube-system DaemonSets should tolerate (e.g. ['custom-role', 'gpu-role'])"
default = []
}
# unofficial, temporary, may be removed without notice
variable "external_apiserver_port" {
type = number
description = "External kube-apiserver port (e.g. 6443 to match internal kube-apiserver port)"
default = 6443
}
variable "cluster_domain_suffix" {
type = string
description = "Queries for domains with the suffix will be answered by kube-dns"
default = "cluster.local"
}