2018-03-25 21:36:10 -07:00
variable " cluster_name " {
2019-05-28 19:19:23 -07:00
type = string
2018-03-25 21:36:10 -07:00
description = " Unique cluster name "
}
# bare-metal
2017-07-24 23:16:34 -07:00
variable " matchbox_http_endpoint " {
2019-05-28 19:19:23 -07:00
type = string
2017-07-24 23:16:34 -07:00
description = " Matchbox HTTP read-only endpoint (e.g. http://matchbox.example.com:8080) "
}
2018-05-16 22:37:37 -07:00
variable " os_channel " {
2019-05-28 19:19:23 -07:00
type = string
2021-02-20 15:36:52 -08:00
description = " Channel for a Flatcar Linux (flatcar-stable, flatcar-beta, flatcar-alpha) "
2020-11-17 11:30:01 -08:00
validation {
2021-02-20 15:36:52 -08:00
condition = contains ( [ " flatcar-stable " , " flatcar-beta " , " flatcar-alpha " ] , var . os_channel )
error_message = " The os_channel must be flatcar-stable, flatcar-beta, or flatcar-alpha. "
2020-11-17 11:30:01 -08:00
}
2017-07-24 23:16:34 -07:00
}
2018-05-16 22:37:37 -07:00
variable " os_version " {
2019-05-28 19:19:23 -07:00
type = string
2020-10-21 00:02:29 -07:00
description = " Version of Flatcar Linux to PXE and install (e.g. 2079.5.1) "
2017-07-24 23:16:34 -07:00
}
2018-03-25 21:36:10 -07:00
# machines
2017-07-24 23:16:34 -07:00
2019-10-06 12:57:15 -07:00
variable " controllers " {
type = list ( object ( {
2019-11-13 23:44:02 -08:00
name = string
mac = string
2019-10-06 12:57:15 -07:00
domain = string
} ) )
description = < < EOD
List of controller machine details ( unique name , identifying MAC address , FQDN )
[ { name = " node1 " , mac = " 52:54:00:a1:9c:ae " , domain = " node1.example.com " } ]
EOD
2017-07-24 23:16:34 -07:00
}
2019-10-06 12:57:15 -07:00
variable " workers " {
type = list ( object ( {
2019-11-13 23:44:02 -08:00
name = string
mac = string
2019-10-06 12:57:15 -07:00
domain = string
} ) )
description = < < EOD
List of worker machine details ( unique name , identifying MAC address , FQDN )
[
{ name = " node2 " , mac = " 52:54:00:b2:2f:86 " , domain = " node2.example.com " } ,
{ name = " node3 " , mac = " 52:54:00:c3:61:77 " , domain = " node3.example.com " }
]
EOD
2023-03-01 14:27:29 -08:00
default = [ ]
2018-07-25 22:44:07 -07:00
}
2020-03-29 11:46:22 -07:00
variable " snippets " {
2019-05-28 19:19:23 -07:00
type = map ( list ( string ) )
2018-07-26 23:31:08 -07:00
description = " Map from machine names to lists of Container Linux Config snippets "
2018-08-21 21:59:55 -07:00
default = { }
2017-07-24 23:16:34 -07:00
}
2020-03-08 20:39:18 -07:00
variable " worker_node_labels " {
2020-03-31 21:42:51 -07:00
type = map ( list ( string ) )
2020-03-08 20:39:18 -07:00
description = " Map from worker names to lists of initial node labels "
2020-03-31 21:42:51 -07:00
default = { }
2020-03-08 20:39:18 -07:00
}
variable " worker_node_taints " {
2020-03-31 21:42:51 -07:00
type = map ( list ( string ) )
2020-03-08 20:39:18 -07:00
description = " Map from worker names to lists of initial node taints "
2020-03-31 21:42:51 -07:00
default = { }
2020-03-08 20:39:18 -07:00
}
2018-03-25 21:36:10 -07:00
# configuration
2017-07-24 23:16:34 -07:00
variable " k8s_domain_name " {
2019-05-28 19:19:23 -07:00
type = string
2019-10-06 11:53:49 -07:00
description = " Controller DNS name which resolves to a controller instance. Workers and kubeconfig's will communicate with this endpoint (e.g. cluster.example.com) "
2017-07-24 23:16:34 -07:00
}
2018-03-25 21:36:10 -07:00
variable " ssh_authorized_key " {
2019-05-28 19:19:23 -07:00
type = string
2018-03-25 21:36:10 -07:00
description = " SSH public key for user 'core' "
}
2017-09-01 14:23:25 -07:00
variable " networking " {
2019-05-28 19:19:23 -07:00
type = string
2022-02-07 07:44:09 -08:00
description = " Choice of networking provider (flannel, calico, or cilium) "
default = " cilium "
2017-09-01 14:23:25 -07:00
}
2017-09-05 18:24:57 -07:00
variable " network_mtu " {
2019-10-06 11:53:49 -07:00
type = number
2017-09-05 18:24:57 -07:00
description = " CNI interface MTU (applies to calico only) "
2019-10-06 11:53:49 -07:00
default = 1480
2017-09-05 18:24:57 -07:00
}
2018-05-14 23:35:16 -07:00
variable " network_ip_autodetection_method " {
2019-05-28 19:19:23 -07:00
type = string
2019-10-06 11:53:49 -07:00
description = " Method to autodetect the host IPv4 address (applies to calico only) "
2018-05-14 23:35:16 -07:00
default = " first-found "
}
2017-07-24 23:16:34 -07:00
variable " pod_cidr " {
2019-05-28 19:19:23 -07:00
type = string
2019-10-06 11:53:49 -07:00
description = " CIDR IPv4 range to assign Kubernetes pods "
2017-07-24 23:16:34 -07:00
default = " 10.2.0.0/16 "
}
variable " service_cidr " {
2019-11-13 23:44:02 -08:00
type = string
2017-07-24 23:16:34 -07:00
description = < < EOD
2018-03-25 21:36:10 -07:00
CIDR IPv4 range to assign Kubernetes services .
2018-07-01 19:41:57 -07:00
The 1 st IP will be reserved for kube_apiserver , the 10 th IP will be reserved for coredns .
2017-07-24 23:16:34 -07:00
EOD
2019-11-13 23:44:02 -08:00
default = " 10.3.0.0/16 "
2017-07-24 23:16:34 -07:00
}
# optional
2019-03-09 19:34:15 -08:00
variable " download_protocol " {
2019-11-13 23:44:02 -08:00
type = string
2019-03-09 19:34:15 -08:00
description = " Protocol iPXE should use to download the kernel and initrd. Defaults to https, which requires iPXE compiled with crypto support. Unused if cached_install is true. "
2019-11-13 23:44:02 -08:00
default = " https "
2019-03-09 19:34:15 -08:00
}
2017-07-24 23:16:34 -07:00
variable " cached_install " {
2019-11-13 23:44:02 -08:00
type = bool
2020-10-21 00:02:29 -07:00
description = " Whether Flatcar Linux should PXE boot and install from matchbox /assets cache. Note that the admin must have downloaded the os_version into matchbox assets. "
2019-11-13 23:44:02 -08:00
default = false
2017-07-24 23:16:34 -07:00
}
variable " install_disk " {
2019-11-13 23:44:02 -08:00
type = string
default = " /dev/sda "
2020-10-21 00:02:29 -07:00
description = " Disk device to which the install profiles should install Flatcar Linux (e.g. /dev/sda) "
2017-07-24 23:16:34 -07:00
}
2017-10-02 11:47:44 -05:00
variable " kernel_args " {
2019-11-13 23:44:02 -08:00
type = list ( string )
2019-10-06 11:53:49 -07:00
description = " Additional kernel arguments to provide at PXE boot. "
2019-11-13 23:44:02 -08:00
default = [ ]
2017-10-02 11:47:44 -05:00
}
2018-11-19 22:45:02 -08:00
variable " enable_reporting " {
2019-11-13 23:44:02 -08:00
type = bool
2018-11-19 22:45:02 -08:00
description = " Enable usage or analytics reporting to upstreams (Calico) "
2019-11-13 23:44:02 -08:00
default = false
2018-11-19 22:45:02 -08:00
}
2019-04-07 02:29:07 -07:00
variable " enable_aggregation " {
2019-11-13 23:44:02 -08:00
type = bool
2021-12-09 17:25:35 -08:00
description = " Enable the Kubernetes Aggregation Layer "
default = true
2019-10-06 11:53:49 -07:00
}
2023-03-02 09:14:03 +01:00
variable " oem_type " {
type = string
description = < < EOD
An OEM type to install with flatcar - install . Find available types by looking for Flatcar image files
ending in ` image . bin . bz2 ` . The OEM identifier is contained in the filename .
E . g . , ` flatcar_production_vmware_raw_image . bin . bz2 ` leads to ` vmware_raw ` .
See : https : //www.flatcar.org/docs/latest/installing/bare-metal/installing-to-disk/#choose-a-channel
EOD
default = " "
}
2019-10-06 11:53:49 -07:00
# unofficial, undocumented, unsupported
variable " cluster_domain_suffix " {
2019-11-13 23:44:02 -08:00
type = string
2019-10-06 11:53:49 -07:00
description = " Queries for domains with the suffix will be answered by coredns. Default is cluster.local (e.g. foo.default.svc.cluster.local) "
2019-11-13 23:44:02 -08:00
default = " cluster.local "
2019-04-07 02:29:07 -07:00
}
2019-05-28 19:19:23 -07:00