2018-04-01 02:36:26 +02:00
variable " cluster_name " {
type = " string "
description = " Unique cluster name "
}
# bare-metal
variable " matchbox_http_endpoint " {
type = " string "
description = " Matchbox HTTP read-only endpoint (e.g. http://matchbox.example.com:8080) "
}
2018-04-21 02:44:24 +02:00
variable " atomic_assets_endpoint " {
2018-05-02 06:41:22 +02:00
type = " string "
2018-04-21 02:44:24 +02:00
default = " "
2018-05-02 06:41:22 +02:00
2018-04-21 02:44:24 +02:00
description = < < EOD
HTTP endpoint serving the Fedora Atomic Host vmlinuz , initrd , os repo , and ostree repo ( . e . g ` http : //example.com/some/path`).
2018-07-04 20:16:04 +02:00
Ensure the HTTP server directory contains ` vmlinuz ` and ` initrd ` files and ` os ` and ` repo ` directories . Leave unset to assume $ { matchbox_http_endpoint } / assets / fedora / 28
2018-04-21 02:44:24 +02:00
EOD
}
2018-04-01 02:36:26 +02:00
# machines
# Terraform's crude "type system" does not properly support lists of maps so we do this.
variable " controller_names " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-29 20:07:48 +02:00
description = " Ordered list of controller names (e.g. [node1]) "
2018-04-01 02:36:26 +02:00
}
variable " controller_macs " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-29 20:07:48 +02:00
description = " Ordered list of controller identifying MAC addresses (e.g. [52:54:00:a1:9c:ae]) "
2018-04-01 02:36:26 +02:00
}
variable " controller_domains " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-29 20:07:48 +02:00
description = " Ordered list of controller FQDNs (e.g. [node1.example.com]) "
2018-04-01 02:36:26 +02:00
}
variable " worker_names " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-29 20:07:48 +02:00
description = " Ordered list of worker names (e.g. [node2, node3]) "
2018-04-01 02:36:26 +02:00
}
variable " worker_macs " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-29 20:07:48 +02:00
description = " Ordered list of worker identifying MAC addresses (e.g. [52:54:00:b2:2f:86, 52:54:00:c3:61:77]) "
2018-04-01 02:36:26 +02:00
}
variable " worker_domains " {
2018-08-22 06:59:55 +02:00
type = "list "
2018-07-29 20:07:48 +02:00
description = " Ordered list of worker FQDNs (e.g. [node2.example.com, node3.example.com]) "
2018-04-01 02:36:26 +02:00
}
# configuration
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 "
}
variable " ssh_authorized_key " {
type = " string "
description = " SSH public key for user 'fedora' "
}
variable " asset_dir " {
description = " Path to a directory where generated assets should be placed (contains secrets) "
type = " string "
}
variable " networking " {
description = " Choice of networking provider (flannel or calico) "
type = " string "
default = " calico "
}
variable " network_mtu " {
description = " CNI interface MTU (applies to calico only) "
type = " string "
default = " 1480 "
}
variable " pod_cidr " {
description = " CIDR IPv4 range to assign Kubernetes pods "
type = " string "
default = " 10.2.0.0/16 "
}
variable " service_cidr " {
description = < < EOD
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 .
2018-04-01 02:36:26 +02:00
EOD
type = " string "
default = " 10.3.0.0/16 "
}
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) "
2018-04-01 02:36:26 +02:00
type = " string "
default = " cluster.local "
}
variable " kernel_args " {
description = " Additional kernel arguments to provide at PXE boot. "
type = "list "
default = [ ]
}