2016-06-05 20:52:20 +00:00
|
|
|
variable "cluster_name" {
|
|
|
|
default = "example"
|
|
|
|
}
|
|
|
|
|
2018-07-31 09:18:27 +00:00
|
|
|
variable "az_list" {
|
2020-02-18 12:29:27 +00:00
|
|
|
description = "List of Availability Zones to use for masters in your OpenStack cluster"
|
|
|
|
type = list(string)
|
|
|
|
default = ["nova"]
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "az_list_node" {
|
|
|
|
description = "List of Availability Zones to use for nodes in your OpenStack cluster"
|
|
|
|
type = list(string)
|
2019-02-18 05:04:41 +00:00
|
|
|
default = ["nova"]
|
2018-07-31 09:18:27 +00:00
|
|
|
}
|
|
|
|
|
2017-12-05 12:48:47 +00:00
|
|
|
variable "number_of_bastions" {
|
|
|
|
default = 1
|
|
|
|
}
|
|
|
|
|
2016-06-05 20:52:20 +00:00
|
|
|
variable "number_of_k8s_masters" {
|
|
|
|
default = 2
|
|
|
|
}
|
|
|
|
|
2017-09-27 09:59:09 +00:00
|
|
|
variable "number_of_k8s_masters_no_etcd" {
|
|
|
|
default = 2
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "number_of_etcd" {
|
|
|
|
default = 2
|
|
|
|
}
|
|
|
|
|
2016-10-26 14:56:15 +00:00
|
|
|
variable "number_of_k8s_masters_no_floating_ip" {
|
|
|
|
default = 2
|
|
|
|
}
|
|
|
|
|
2017-09-27 09:59:09 +00:00
|
|
|
variable "number_of_k8s_masters_no_floating_ip_no_etcd" {
|
|
|
|
default = 2
|
|
|
|
}
|
|
|
|
|
2016-06-05 20:52:20 +00:00
|
|
|
variable "number_of_k8s_nodes" {
|
|
|
|
default = 1
|
|
|
|
}
|
|
|
|
|
2016-10-26 14:56:15 +00:00
|
|
|
variable "number_of_k8s_nodes_no_floating_ip" {
|
|
|
|
default = 1
|
|
|
|
}
|
|
|
|
|
2016-11-11 03:59:46 +00:00
|
|
|
variable "number_of_gfs_nodes_no_floating_ip" {
|
|
|
|
default = 0
|
|
|
|
}
|
|
|
|
|
2019-09-25 12:17:59 +00:00
|
|
|
variable "bastion_root_volume_size_in_gb" {
|
|
|
|
default = 0
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "etcd_root_volume_size_in_gb" {
|
|
|
|
default = 0
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "master_root_volume_size_in_gb" {
|
|
|
|
default = 0
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "node_root_volume_size_in_gb" {
|
|
|
|
default = 0
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "gfs_root_volume_size_in_gb" {
|
|
|
|
default = 0
|
|
|
|
}
|
|
|
|
|
2016-11-11 03:59:46 +00:00
|
|
|
variable "gfs_volume_size_in_gb" {
|
|
|
|
default = 75
|
|
|
|
}
|
|
|
|
|
2020-08-18 07:49:29 +00:00
|
|
|
variable "master_volume_type" {
|
|
|
|
default = "Default"
|
|
|
|
}
|
|
|
|
|
2021-11-30 20:59:01 +00:00
|
|
|
variable "node_volume_type" {
|
|
|
|
default = "Default"
|
|
|
|
}
|
|
|
|
|
2016-06-05 20:52:20 +00:00
|
|
|
variable "public_key_path" {
|
|
|
|
description = "The path of the ssh pub key"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = "~/.ssh/id_rsa.pub"
|
2016-06-05 20:52:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
variable "image" {
|
|
|
|
description = "the image to use"
|
2019-09-25 12:17:59 +00:00
|
|
|
default = ""
|
2016-06-05 20:52:20 +00:00
|
|
|
}
|
|
|
|
|
2016-11-11 03:59:46 +00:00
|
|
|
variable "image_gfs" {
|
|
|
|
description = "Glance image to use for GlusterFS"
|
2019-09-25 12:17:59 +00:00
|
|
|
default = ""
|
2016-11-11 03:59:46 +00:00
|
|
|
}
|
|
|
|
|
2016-06-05 20:52:20 +00:00
|
|
|
variable "ssh_user" {
|
|
|
|
description = "used to fill out tags for ansible inventory"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = "ubuntu"
|
2016-06-05 20:52:20 +00:00
|
|
|
}
|
|
|
|
|
2016-11-11 03:59:46 +00:00
|
|
|
variable "ssh_user_gfs" {
|
|
|
|
description = "used to fill out tags for ansible inventory"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = "ubuntu"
|
2016-11-11 03:59:46 +00:00
|
|
|
}
|
|
|
|
|
2017-12-05 12:48:47 +00:00
|
|
|
variable "flavor_bastion" {
|
2019-02-26 04:13:16 +00:00
|
|
|
description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = 3
|
2017-12-05 12:48:47 +00:00
|
|
|
}
|
|
|
|
|
2016-06-05 20:52:20 +00:00
|
|
|
variable "flavor_k8s_master" {
|
2019-02-26 04:13:16 +00:00
|
|
|
description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = 3
|
2016-06-05 20:52:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
variable "flavor_k8s_node" {
|
2019-02-26 04:13:16 +00:00
|
|
|
description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = 3
|
2016-06-05 20:52:20 +00:00
|
|
|
}
|
|
|
|
|
2017-09-27 09:59:09 +00:00
|
|
|
variable "flavor_etcd" {
|
2019-02-26 04:13:16 +00:00
|
|
|
description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = 3
|
2017-09-27 09:59:09 +00:00
|
|
|
}
|
|
|
|
|
2016-11-11 03:59:46 +00:00
|
|
|
variable "flavor_gfs_node" {
|
2019-02-26 04:13:16 +00:00
|
|
|
description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = 3
|
2016-11-11 03:59:46 +00:00
|
|
|
}
|
2016-06-05 20:52:20 +00:00
|
|
|
|
|
|
|
variable "network_name" {
|
|
|
|
description = "name of the internal network to use"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = "internal"
|
2016-06-05 20:52:20 +00:00
|
|
|
}
|
|
|
|
|
2022-05-03 15:51:56 +00:00
|
|
|
variable "use_existing_network" {
|
|
|
|
description = "Use an existing network"
|
|
|
|
type = bool
|
|
|
|
default = "false"
|
|
|
|
}
|
|
|
|
|
2019-08-21 12:09:15 +00:00
|
|
|
variable "network_dns_domain" {
|
|
|
|
description = "dns_domain for the internal network"
|
2020-08-05 08:32:28 +00:00
|
|
|
type = string
|
2019-08-21 12:09:15 +00:00
|
|
|
default = null
|
|
|
|
}
|
|
|
|
|
2018-10-19 10:39:34 +00:00
|
|
|
variable "use_neutron" {
|
|
|
|
description = "Use neutron"
|
|
|
|
default = 1
|
|
|
|
}
|
|
|
|
|
2022-01-14 20:58:32 +00:00
|
|
|
variable "port_security_enabled" {
|
|
|
|
description = "Enable port security on the internal network"
|
|
|
|
type = bool
|
|
|
|
default = "true"
|
|
|
|
}
|
|
|
|
|
2022-05-03 15:51:56 +00:00
|
|
|
variable "force_null_port_security" {
|
|
|
|
description = "Force port security to be null. Some providers does not allow setting port security"
|
|
|
|
type = bool
|
|
|
|
default = "false"
|
|
|
|
}
|
|
|
|
|
2018-06-14 17:31:04 +00:00
|
|
|
variable "subnet_cidr" {
|
|
|
|
description = "Subnet CIDR block."
|
2020-08-05 08:32:28 +00:00
|
|
|
type = string
|
2019-02-18 05:04:41 +00:00
|
|
|
default = "10.0.0.0/24"
|
2018-06-14 17:31:04 +00:00
|
|
|
}
|
|
|
|
|
2018-01-05 11:09:04 +00:00
|
|
|
variable "dns_nameservers" {
|
2017-12-05 12:48:47 +00:00
|
|
|
description = "An array of DNS name server names used by hosts in this subnet."
|
2020-12-23 13:08:26 +00:00
|
|
|
type = list(string)
|
2018-01-05 11:09:04 +00:00
|
|
|
default = []
|
2017-12-05 12:48:47 +00:00
|
|
|
}
|
|
|
|
|
2020-10-12 06:54:47 +00:00
|
|
|
variable "k8s_master_fips" {
|
|
|
|
description = "specific pre-existing floating IPs to use for master nodes"
|
|
|
|
type = list(string)
|
|
|
|
default = []
|
|
|
|
}
|
|
|
|
|
2021-11-19 15:58:52 +00:00
|
|
|
variable "bastion_fips" {
|
|
|
|
description = "specific pre-existing floating IPs to use for bastion node"
|
|
|
|
type = list(string)
|
|
|
|
default = []
|
|
|
|
}
|
|
|
|
|
2016-06-05 20:52:20 +00:00
|
|
|
variable "floatingip_pool" {
|
|
|
|
description = "name of the floating ip pool to use"
|
2018-01-05 11:09:04 +00:00
|
|
|
default = "external"
|
2016-06-05 20:52:20 +00:00
|
|
|
}
|
|
|
|
|
2019-05-09 09:16:50 +00:00
|
|
|
variable "wait_for_floatingip" {
|
|
|
|
description = "Terraform will poll the instance until the floating IP has been associated."
|
|
|
|
default = "false"
|
|
|
|
}
|
|
|
|
|
2017-12-05 12:48:47 +00:00
|
|
|
variable "external_net" {
|
|
|
|
description = "uuid of the external/public network"
|
|
|
|
}
|
2018-04-30 15:11:07 +00:00
|
|
|
|
|
|
|
variable "supplementary_master_groups" {
|
2021-04-29 12:20:50 +00:00
|
|
|
description = "supplementary kubespray ansible groups for masters, such kube_node"
|
2019-02-18 05:04:41 +00:00
|
|
|
default = ""
|
2018-04-30 15:11:07 +00:00
|
|
|
}
|
2018-06-28 14:32:59 +00:00
|
|
|
|
|
|
|
variable "supplementary_node_groups" {
|
2021-04-29 12:20:50 +00:00
|
|
|
description = "supplementary kubespray ansible groups for worker nodes, such as kube_ingress"
|
2019-02-18 05:04:41 +00:00
|
|
|
default = ""
|
2018-06-28 14:32:59 +00:00
|
|
|
}
|
2018-09-28 09:35:02 +00:00
|
|
|
|
|
|
|
variable "bastion_allowed_remote_ips" {
|
|
|
|
description = "An array of CIDRs allowed to SSH to hosts"
|
2020-08-05 08:32:28 +00:00
|
|
|
type = list(string)
|
2019-02-18 05:04:41 +00:00
|
|
|
default = ["0.0.0.0/0"]
|
2018-09-28 09:35:02 +00:00
|
|
|
}
|
2018-10-31 11:09:22 +00:00
|
|
|
|
2019-04-21 08:57:44 +00:00
|
|
|
variable "master_allowed_remote_ips" {
|
|
|
|
description = "An array of CIDRs allowed to access API of masters"
|
2020-08-05 08:32:28 +00:00
|
|
|
type = list(string)
|
2019-04-21 08:57:44 +00:00
|
|
|
default = ["0.0.0.0/0"]
|
|
|
|
}
|
|
|
|
|
2019-04-15 14:22:08 +00:00
|
|
|
variable "k8s_allowed_remote_ips" {
|
|
|
|
description = "An array of CIDRs allowed to SSH to hosts"
|
2020-08-05 08:32:28 +00:00
|
|
|
type = list(string)
|
2019-04-15 14:22:08 +00:00
|
|
|
default = []
|
|
|
|
}
|
|
|
|
|
2019-04-17 09:10:03 +00:00
|
|
|
variable "k8s_allowed_egress_ips" {
|
|
|
|
description = "An array of CIDRs allowed for egress traffic"
|
2020-08-05 08:32:28 +00:00
|
|
|
type = list(string)
|
2019-04-17 09:10:03 +00:00
|
|
|
default = ["0.0.0.0/0"]
|
|
|
|
}
|
|
|
|
|
2020-08-27 09:07:13 +00:00
|
|
|
variable "master_allowed_ports" {
|
2020-12-23 13:08:26 +00:00
|
|
|
type = list(any)
|
2020-08-27 09:07:13 +00:00
|
|
|
|
|
|
|
default = []
|
|
|
|
}
|
|
|
|
|
2018-10-31 11:09:22 +00:00
|
|
|
variable "worker_allowed_ports" {
|
2020-12-23 13:08:26 +00:00
|
|
|
type = list(any)
|
2019-02-18 05:04:41 +00:00
|
|
|
|
2018-10-31 11:09:22 +00:00
|
|
|
default = [
|
|
|
|
{
|
2019-02-18 05:04:41 +00:00
|
|
|
"protocol" = "tcp"
|
|
|
|
"port_range_min" = 30000
|
|
|
|
"port_range_max" = 32767
|
2018-10-31 11:09:22 +00:00
|
|
|
"remote_ip_prefix" = "0.0.0.0/0"
|
2019-02-18 05:04:41 +00:00
|
|
|
},
|
2018-10-31 11:09:22 +00:00
|
|
|
]
|
|
|
|
}
|
2019-10-07 11:09:09 +00:00
|
|
|
|
2022-09-28 05:03:35 +00:00
|
|
|
variable "bastion_allowed_ports" {
|
|
|
|
type = list(any)
|
|
|
|
|
|
|
|
default = []
|
|
|
|
}
|
|
|
|
|
2019-10-07 11:09:09 +00:00
|
|
|
variable "use_access_ip" {
|
|
|
|
default = 1
|
|
|
|
}
|
2019-12-09 09:15:10 +00:00
|
|
|
|
2021-11-22 10:53:09 +00:00
|
|
|
variable "master_server_group_policy" {
|
|
|
|
description = "desired server group policy, e.g. anti-affinity"
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "node_server_group_policy" {
|
|
|
|
description = "desired server group policy, e.g. anti-affinity"
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "etcd_server_group_policy" {
|
|
|
|
description = "desired server group policy, e.g. anti-affinity"
|
|
|
|
default = ""
|
2020-02-18 12:29:27 +00:00
|
|
|
}
|
2020-04-06 09:41:46 +00:00
|
|
|
|
|
|
|
variable "router_id" {
|
|
|
|
description = "uuid of an externally defined router to use"
|
|
|
|
default = null
|
|
|
|
}
|
2020-04-16 14:52:45 +00:00
|
|
|
|
2020-11-06 08:16:50 +00:00
|
|
|
variable "router_internal_port_id" {
|
|
|
|
description = "uuid of the port connection our router to our network"
|
|
|
|
default = null
|
|
|
|
}
|
|
|
|
|
2022-05-03 15:51:56 +00:00
|
|
|
variable "k8s_masters" {
|
|
|
|
default = {}
|
2022-10-25 09:48:39 +00:00
|
|
|
type = map(object({
|
|
|
|
az = string
|
|
|
|
flavor = string
|
|
|
|
floating_ip = bool
|
|
|
|
etcd = bool
|
|
|
|
image_id = optional(string)
|
|
|
|
root_volume_size_in_gb = optional(number)
|
|
|
|
volume_type = optional(string)
|
2022-11-08 14:49:42 +00:00
|
|
|
network_id = optional(string)
|
2022-10-25 09:48:39 +00:00
|
|
|
}))
|
2022-05-03 15:51:56 +00:00
|
|
|
}
|
|
|
|
|
2020-04-16 14:52:45 +00:00
|
|
|
variable "k8s_nodes" {
|
|
|
|
default = {}
|
2022-10-25 09:48:39 +00:00
|
|
|
type = map(object({
|
|
|
|
az = string
|
|
|
|
flavor = string
|
|
|
|
floating_ip = bool
|
|
|
|
extra_groups = optional(string)
|
|
|
|
image_id = optional(string)
|
|
|
|
root_volume_size_in_gb = optional(number)
|
|
|
|
volume_type = optional(string)
|
2022-11-08 14:49:42 +00:00
|
|
|
network_id = optional(string)
|
2022-10-25 09:48:39 +00:00
|
|
|
server_group = optional(string)
|
2022-10-31 09:39:55 +00:00
|
|
|
cloudinit = optional(object({
|
2022-10-25 09:48:39 +00:00
|
|
|
extra_partitions = list(object({
|
|
|
|
volume_path = string
|
|
|
|
partition_path = string
|
|
|
|
partition_start = string
|
|
|
|
partition_end = string
|
|
|
|
mount_path = string
|
|
|
|
}))
|
|
|
|
}))
|
|
|
|
}))
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "additional_server_groups" {
|
|
|
|
default = {}
|
|
|
|
type = map(object({
|
|
|
|
policy = string
|
|
|
|
}))
|
2020-04-16 14:52:45 +00:00
|
|
|
}
|
|
|
|
|
2020-11-05 13:30:54 +00:00
|
|
|
variable "extra_sec_groups" {
|
|
|
|
default = false
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "extra_sec_groups_name" {
|
|
|
|
default = "custom"
|
|
|
|
}
|
2021-02-16 15:05:06 +00:00
|
|
|
|
|
|
|
variable "image_uuid" {
|
|
|
|
description = "uuid of image inside openstack to use"
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "image_gfs_uuid" {
|
|
|
|
description = "uuid of image to be used on gluster fs nodes. If empty defaults to image_uuid"
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "image_master" {
|
|
|
|
description = "uuid of image inside openstack to use"
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "image_master_uuid" {
|
|
|
|
description = "uuid of image to be used on master nodes. If empty defaults to image_uuid"
|
|
|
|
default = ""
|
|
|
|
}
|
2021-06-25 07:26:45 +00:00
|
|
|
|
|
|
|
variable "group_vars_path" {
|
|
|
|
description = "path to the inventory group vars directory"
|
|
|
|
type = string
|
|
|
|
default = "./group_vars"
|
|
|
|
}
|