2018-03-26 06:36:10 +02:00
variable " cluster_name " {
type = " string "
description = " Unique cluster name "
}
# bare-metal
2017-07-25 08:16:34 +02:00
variable " matchbox_http_endpoint " {
type = " string "
description = " Matchbox HTTP read-only endpoint (e.g. http://matchbox.example.com:8080) "
}
2018-05-17 07:37:37 +02:00
variable " os_channel " {
2017-07-25 08:16:34 +02:00
type = " string "
2018-05-17 08:30:48 +02:00
description = " Channel for a Container Linux derivative (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha) "
2017-07-25 08:16:34 +02:00
}
2018-05-17 07:37:37 +02:00
variable " os_version " {
2017-07-25 08:16:34 +02:00
type = " string "
2018-05-17 08:30:48 +02:00
description = " Version for a Container Linux derivative to PXE and install (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha) "
2017-07-25 08:16:34 +02:00
}
2018-03-26 06:36:10 +02:00
# machines
2018-02-04 21:13:10 +01:00
# Terraform's crude "type system" does not properly support lists of maps so we do this.
2017-07-25 08:16:34 +02:00
variable " controller_names " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-26 07:44:07 +02:00
description = " Ordered list of controller names (e.g. [node1]) "
2017-07-25 08:16:34 +02:00
}
variable " controller_macs " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-26 07:44:07 +02:00
description = " Ordered list of controller identifying MAC addresses (e.g. [52:54:00:a1:9c:ae]) "
2017-07-25 08:16:34 +02:00
}
variable " controller_domains " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-26 07:44:07 +02:00
description = " Ordered list of controller FQDNs (e.g. [node1.example.com]) "
}
2017-07-25 08:16:34 +02:00
variable " worker_names " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-26 07:44:07 +02:00
description = " Ordered list of worker names (e.g. [node2, node3]) "
2017-07-25 08:16:34 +02:00
}
variable " worker_macs " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-26 07:44:07 +02:00
description = " Ordered list of worker identifying MAC addresses (e.g. [52:54:00:b2:2f:86, 52:54:00:c3:61:77]) "
2017-07-25 08:16:34 +02:00
}
variable " worker_domains " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-26 07:44:07 +02:00
description = " Ordered list of worker FQDNs (e.g. [node2.example.com, node3.example.com]) "
}
2018-07-27 08:31:08 +02:00
variable " clc_snippets " {
2018-08-22 06:59:55 +02:00
type = "map "
2018-07-27 08:31:08 +02:00
description = " Map from machine names to lists of Container Linux Config snippets "
2018-08-22 06:59:55 +02:00
default = { }
2017-07-25 08:16:34 +02:00
}
2018-03-26 06:36:10 +02:00
# configuration
2017-07-25 08:16:34 +02:00
variable " k8s_domain_name " {
description = " Controller DNS name which resolves to a controller instance. Workers and kubeconfig's will communicate with this endpoint (e.g. cluster.example.com) "
type = " string "
}
2018-03-26 06:36:10 +02:00
variable " ssh_authorized_key " {
type = " string "
description = " SSH public key for user 'core' "
}
2017-07-25 08:16:34 +02:00
variable " asset_dir " {
description = " Path to a directory where generated assets should be placed (contains secrets) "
type = " string "
}
2017-09-01 23:23:25 +02:00
variable " networking " {
description = " Choice of networking provider (flannel or calico) "
type = " string "
2017-09-12 18:16:58 +02:00
default = " calico "
2017-09-01 23:23:25 +02:00
}
2017-09-06 03:24:57 +02:00
variable " network_mtu " {
description = " CNI interface MTU (applies to calico only) "
type = " string "
default = " 1480 "
}
2018-05-15 08:35:16 +02:00
variable " network_ip_autodetection_method " {
description = " Method to autodetect the host IPv4 address (applies to calico only) "
type = " string "
default = " first-found "
}
2017-07-25 08:16:34 +02:00
variable " pod_cidr " {
2018-03-26 06:36:10 +02:00
description = " CIDR IPv4 range to assign Kubernetes pods "
2017-07-25 08:16:34 +02:00
type = " string "
default = " 10.2.0.0/16 "
}
variable " service_cidr " {
description = < < EOD
2018-03-26 06:36:10 +02:00
CIDR IPv4 range to assign Kubernetes services .
2018-07-02 04:41:57 +02:00
The 1 st IP will be reserved for kube_apiserver , the 10 th IP will be reserved for coredns .
2017-07-25 08:16:34 +02:00
EOD
type = " string "
default = " 10.3.0.0/16 "
}
# optional
2017-12-09 22:36:59 +01:00
variable " cluster_domain_suffix " {
2018-07-02 04:41:57 +02:00
description = " Queries for domains with the suffix will be answered by coredns. Default is cluster.local (e.g. foo.default.svc.cluster.local) "
2017-12-09 22:36:59 +01:00
type = " string "
default = " cluster.local "
}
2019-03-10 04:34:15 +01:00
variable " download_protocol " {
2019-03-28 03:45:10 +01:00
type = " string "
default = " https "
2019-03-10 04:34:15 +01: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. "
}
2017-07-25 08:16:34 +02:00
variable " cached_install " {
type = " string "
default = " false "
2018-05-17 07:37:37 +02:00
description = " Whether Container Linux should PXE boot and install from matchbox /assets cache. Note that the admin must have downloaded the os_version into matchbox assets. "
2017-07-25 08:16:34 +02:00
}
variable " install_disk " {
type = " string "
default = " /dev/sda "
description = " Disk device to which the install profiles should install Container Linux (e.g. /dev/sda) "
}
variable " container_linux_oem " {
type = " string "
default = " "
2018-05-17 07:37:37 +02:00
description = " DEPRECATED: Specify an OEM image id to use as base for the installation (e.g. ami, vmware_raw, xen) or leave blank for the default image "
2017-07-25 08:16:34 +02:00
}
2017-10-02 18:47:44 +02:00
variable " kernel_args " {
2017-10-16 09:39:58 +02:00
description = " Additional kernel arguments to provide at PXE boot. "
2017-10-02 18:47:44 +02:00
type = "list "
default = [ ]
}
2018-11-20 07:45:02 +01:00
variable " enable_reporting " {
type = " string "
description = " Enable usage or analytics reporting to upstreams (Calico) "
default = " false "
}