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) "
}
variable " container_linux_channel " {
type = " string "
description = " Container Linux channel corresponding to the container_linux_version "
}
variable " container_linux_version " {
type = " string "
description = " Container Linux version of the kernel/initrd to PXE or the image to install "
}
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 " {
type = "list "
}
variable " controller_macs " {
type = "list "
}
variable " controller_domains " {
type = "list "
}
variable " worker_names " {
type = "list "
}
variable " worker_macs " {
type = "list "
}
variable " worker_domains " {
type = "list "
}
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 .
2017-11-06 07:43:30 +01:00
The 1 st IP will be reserved for kube_apiserver , the 10 th IP will be reserved for kube - dns .
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 " {
description = " Queries for domains with the suffix will be answered by kube-dns. Default is cluster.local (e.g. foo.default.svc.cluster.local) "
type = " string "
default = " cluster.local "
}
2017-07-25 08:16:34 +02:00
variable " cached_install " {
type = " string "
default = " false "
description = " Whether Container Linux should PXE boot and install from matchbox /assets cache. Note that the admin must have downloaded the container_linux_version into matchbox assets. "
}
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 = " "
description = " 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-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 = [ ]
}
2017-10-16 09:39:58 +02:00
# unofficial, undocumented, unsupported, temporary
variable " controller_networkds " {
2017-10-16 10:32:25 +02:00
type = "list "
2017-10-16 09:39:58 +02:00
description = " Controller Container Linux config networkd section "
2017-10-16 10:32:25 +02:00
default = [ ]
2017-10-16 09:39:58 +02:00
}
variable " worker_networkds " {
2017-10-16 10:32:25 +02:00
type = "list "
2017-10-16 09:39:58 +02:00
description = " Worker Container Linux config networkd section "
2017-10-16 10:32:25 +02:00
default = [ ]
2017-10-16 09:39:58 +02:00
}