forked from tibordp/terraform-hcloud-dualstack-k8s
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
133 lines (111 loc) · 3.04 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
variable "name" {
description = "Name of the cluster"
type = string
}
variable "hcloud_ssh_key" {
description = "SSH key name or ID"
type = string
}
variable "master_server_type" {
description = "Server SKU (default: 'cx31')"
type = string
default = "cx31"
}
variable "worker_server_type" {
description = "Server SKU (default: 'cx31')"
type = string
default = "cx31"
}
variable "hcloud_token" {
description = "Hetzner token for CCM and storage provisioner"
type = string
# sensitive = true
}
variable "master_count" {
description = "Hetzner token for CCM and storage provisioner"
type = number
default = 1
}
variable "control_plane_lb_type" {
description = "(Optional) Hetzner token for CCM and storage provisioner"
type = string
default = ""
}
variable "control_plane_endpoint" {
description = "(Optional) DNS name for the control plane endpoint"
type = string
default = ""
}
variable "pod_cidr_ipv4" {
description = "IPv4 CIDR for Pods"
type = string
default = "10.96.0.0/16"
}
variable "service_cidr_ipv6" {
description = "IPv6 CIDR for Services"
type = string
default = "fd00::/112"
}
variable "service_cidr_ipv4" {
description = "IPv4 CIDR for Services"
type = string
default = "172.16.0.0/16"
}
variable "worker_count" {
description = "Number of worker nodes"
type = number
default = 0
}
variable "image" {
description = "Image for the nodes (default: ubuntu-20.04)"
type = string
default = "ubuntu-20.04"
}
variable "location" {
description = "Server location (default: hel1)"
type = string
default = "hel1"
}
variable "ssh_private_key_path" {
description = "SSH public key file path (default: '~/.ssh/id_rsa')"
type = string
default = "~/.ssh/id_rsa"
}
variable "firewall_ids" {
description = "(Optional) List of firewalls attached to the servers of the cluster"
type = list(number)
default = []
}
variable "labels" {
description = "(Optional) Additional labels"
type = map(any)
default = {}
}
variable "kubeadm_host" {
description = "(Optional) The control plane node to use for management operations"
type = string
default = ""
}
variable "apiserver_extra_sans" {
description = "(Optional) Extra SANs for the apiserver certificate"
type = list(any)
default = []
}
variable "filter_pod_ingress_ipv6" {
description = "Filter out ingress IPv6 traffic directed to pods (default: true)"
type = bool
default = true
}
variable "primary_ip_family" {
description = "(Optional) Primary IP family for Service resources in cluster (default: ipv6)"
type = string
default = "ipv6"
validation {
condition = can(regex("^(ipv4|ipv6)$", var.primary_ip_family))
error_message = "The primary_ip_family value must be a \"ipv6\" or \"ipv4\"."
}
}
variable "tailscale_auth_key" {
description = "Tailscale pre-auth key"
type = string
}