You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

212 lines
4.4 KiB

  1. variable "cluster_name" {
  2. default = "example"
  3. }
  4. variable "az_list" {
  5. description = "List of Availability Zones available in your OpenStack cluster"
  6. type = "list"
  7. default = ["nova"]
  8. }
  9. variable "number_of_bastions" {
  10. default = 1
  11. }
  12. variable "number_of_k8s_masters" {
  13. default = 2
  14. }
  15. variable "number_of_k8s_masters_no_etcd" {
  16. default = 2
  17. }
  18. variable "number_of_etcd" {
  19. default = 2
  20. }
  21. variable "number_of_k8s_masters_no_floating_ip" {
  22. default = 2
  23. }
  24. variable "number_of_k8s_masters_no_floating_ip_no_etcd" {
  25. default = 2
  26. }
  27. variable "number_of_k8s_nodes" {
  28. default = 1
  29. }
  30. variable "number_of_k8s_nodes_no_floating_ip" {
  31. default = 1
  32. }
  33. variable "number_of_gfs_nodes_no_floating_ip" {
  34. default = 0
  35. }
  36. variable "bastion_root_volume_size_in_gb" {
  37. default = 0
  38. }
  39. variable "etcd_root_volume_size_in_gb" {
  40. default = 0
  41. }
  42. variable "master_root_volume_size_in_gb" {
  43. default = 0
  44. }
  45. variable "node_root_volume_size_in_gb" {
  46. default = 0
  47. }
  48. variable "gfs_root_volume_size_in_gb" {
  49. default = 0
  50. }
  51. variable "gfs_volume_size_in_gb" {
  52. default = 75
  53. }
  54. variable "public_key_path" {
  55. description = "The path of the ssh pub key"
  56. default = "~/.ssh/id_rsa.pub"
  57. }
  58. variable "image" {
  59. description = "the image to use"
  60. default = ""
  61. }
  62. variable "image_gfs" {
  63. description = "Glance image to use for GlusterFS"
  64. default = ""
  65. }
  66. variable "ssh_user" {
  67. description = "used to fill out tags for ansible inventory"
  68. default = "ubuntu"
  69. }
  70. variable "ssh_user_gfs" {
  71. description = "used to fill out tags for ansible inventory"
  72. default = "ubuntu"
  73. }
  74. variable "flavor_bastion" {
  75. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  76. default = 3
  77. }
  78. variable "flavor_k8s_master" {
  79. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  80. default = 3
  81. }
  82. variable "flavor_k8s_node" {
  83. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  84. default = 3
  85. }
  86. variable "flavor_etcd" {
  87. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  88. default = 3
  89. }
  90. variable "flavor_gfs_node" {
  91. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  92. default = 3
  93. }
  94. variable "network_name" {
  95. description = "name of the internal network to use"
  96. default = "internal"
  97. }
  98. variable "network_dns_domain" {
  99. description = "dns_domain for the internal network"
  100. type = "string"
  101. default = null
  102. }
  103. variable "use_neutron" {
  104. description = "Use neutron"
  105. default = 1
  106. }
  107. variable "subnet_cidr" {
  108. description = "Subnet CIDR block."
  109. type = "string"
  110. default = "10.0.0.0/24"
  111. }
  112. variable "dns_nameservers" {
  113. description = "An array of DNS name server names used by hosts in this subnet."
  114. type = "list"
  115. default = []
  116. }
  117. variable "floatingip_pool" {
  118. description = "name of the floating ip pool to use"
  119. default = "external"
  120. }
  121. variable "wait_for_floatingip" {
  122. description = "Terraform will poll the instance until the floating IP has been associated."
  123. default = "false"
  124. }
  125. variable "external_net" {
  126. description = "uuid of the external/public network"
  127. }
  128. variable "supplementary_master_groups" {
  129. description = "supplementary kubespray ansible groups for masters, such kube-node"
  130. default = ""
  131. }
  132. variable "supplementary_node_groups" {
  133. description = "supplementary kubespray ansible groups for worker nodes, such as kube-ingress"
  134. default = ""
  135. }
  136. variable "bastion_allowed_remote_ips" {
  137. description = "An array of CIDRs allowed to SSH to hosts"
  138. type = "list"
  139. default = ["0.0.0.0/0"]
  140. }
  141. variable "master_allowed_remote_ips" {
  142. description = "An array of CIDRs allowed to access API of masters"
  143. type = "list"
  144. default = ["0.0.0.0/0"]
  145. }
  146. variable "k8s_allowed_remote_ips" {
  147. description = "An array of CIDRs allowed to SSH to hosts"
  148. type = "list"
  149. default = []
  150. }
  151. variable "k8s_allowed_egress_ips" {
  152. description = "An array of CIDRs allowed for egress traffic"
  153. type = "list"
  154. default = ["0.0.0.0/0"]
  155. }
  156. variable "worker_allowed_ports" {
  157. type = "list"
  158. default = [
  159. {
  160. "protocol" = "tcp"
  161. "port_range_min" = 30000
  162. "port_range_max" = 32767
  163. "remote_ip_prefix" = "0.0.0.0/0"
  164. },
  165. ]
  166. }
  167. variable "use_access_ip" {
  168. default = 1
  169. }