-
Notifications
You must be signed in to change notification settings - Fork 22
/
variables.tf
145 lines (123 loc) · 4.3 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
variable "auth_token" {
type = string
description = "Your Equinix Metal API key"
sensitive = true
}
variable "metro" {
type = string
description = "Equinix Metal Metro "
default = "dc"
}
variable "project_id" {
type = string
default = "null"
description = "Equinix Metal Project ID"
}
variable "metal_create_project" {
type = bool
default = true
description = "Create a Metal Project if this is 'true'. Else use provided 'project_id'"
}
variable "equinix_metal_project_name" {
type = string
default = "baremetal-multiarch-k8s"
description = "The name of the Metal project if 'create_project' is 'true'."
}
variable "plan_arm" {
type = string
description = "Plan for K8s ARM Nodes"
default = "c2.large.arm"
}
variable "plan_x86" {
type = string
description = "Plan for K8s x86 Nodes"
default = "c3.small.x86"
}
variable "plan_gpu" {
type = string
description = "Plan for GPU equipped nodes"
default = "g2.large"
}
variable "plan_primary" {
type = string
description = "K8s Primary Plan"
default = "c3.small.x86"
}
variable "cluster_name" {
type = string
description = "Name of your cluster. Alpha-numeric and hyphens only, please."
default = "metal-multiarch-k8s"
}
variable "count_arm" {
type = number
default = 3
description = "Number of ARM nodes."
}
variable "count_x86" {
type = number
default = 3
description = "Number of x86 nodes."
}
variable "count_gpu" {
type = number
default = 0
description = "Number of GPU nodes."
}
variable "kubernetes_version" {
type = string
description = "Version of Kubeadm to install"
default = "1.24.7-00"
}
variable "secrets_encryption" {
type = bool
description = "Enable at-rest Secrets encryption"
default = false
}
variable "configure_ingress" {
type = bool
description = "Configure Traefik"
default = false
}
variable "storage" {
type = string
description = "Configure Storage ('ceph' or 'openebs') Operator"
default = "none"
}
variable "workloads" {
type = map(any)
description = "Workloads to apply on provisioning (multiple manifests for a single key should be a comma-separated string)"
default = {
cni_cidr = "192.168.0.0/16"
cni_workloads = "https://projectcalico.docs.tigera.io/archive/v3.24/manifests/tigera-operator.yaml,https://projectcalico.docs.tigera.io/archive/v3.24/manifests/custom-resources.yaml"
ceph_common = "https://raw.githubusercontent.com/rook/rook/release-1.0/cluster/examples/kubernetes/ceph/common.yaml"
ceph_operator = "https://raw.githubusercontent.com/rook/rook/release-1.0/cluster/examples/kubernetes/ceph/operator.yaml"
ceph_cluster_minimal = "https://raw.githubusercontent.com/rook/rook/release-1.0/cluster/examples/kubernetes/ceph/cluster-minimal.yaml"
ceph_cluster = "https://raw.githubusercontent.com/rook/rook/release-1.0/cluster/examples/kubernetes/ceph/cluster.yaml"
open_ebs_operator = "https://openebs.github.io/charts/openebs-operator-1.2.0.yaml"
metallb_namespace = "https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/namespace.yaml"
metallb_release = "https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/metallb.yaml" # version 0.12.1+ is not compatible with kubernetes 1.25+
ingress_controller = "https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/traefik-ds.yaml"
nvidia_gpu = "https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/1.0.0-beta4/nvidia-device-plugin.yml"
extra = ""
}
}
variable "skip_workloads" {
type = bool
description = "Skip Equinix Metal workloads (MetalLB)"
default = false
}
variable "control_plane_node_count" {
type = number
description = "Number of control plane nodes (in addition to the primary controller)"
default = 0
}
variable "ccm_enabled" {
type = bool
description = "Whether or not the Equnix Metal CCM will be enabled"
default = false
}
variable "loadbalancer_type" {
type = string
description = "The type of Load Balancer to configure with the Equinix CCM (metallb, kube-vip)"
default = "metallb"
}