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
2020-09-24 19:55:32 -07:00
description = " Channel for a Flatcar Linux (flatcar-stable, flatcar-beta, flatcar-alpha, flatcar-edge) "
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
2019-06-11 22:13:41 -07:00
description = " Version for a Container Linux derivative 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
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
2019-10-06 11:53:49 -07:00
description = " Choice of networking provider (flannel or calico) "
2017-09-12 09:16:58 -07:00
default = " calico "
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
2018-05-16 22:37:37 -07: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. "
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 "
2017-07-24 23:16:34 -07:00
description = " Disk device to which the install profiles should install Container Linux (e.g. /dev/sda) "
}
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
2019-04-07 02:29:07 -07:00
description = " Enable the Kubernetes Aggregation Layer (defaults to false) "
2019-11-13 23:44:02 -08:00
default = false
2019-10-06 11:53:49 -07:00
}
# unofficial, undocumented, unsupported
2020-04-11 14:52:30 -07:00
variable " asset_dir " {
type = string
description = " Absolute path to a directory where generated assets should be placed (contains secrets) "
default = " "
}
2019-10-06 11:53:49 -07:00
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