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.

182 lines
3.9 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 "gfs_volume_size_in_gb" {
  37. default = 75
  38. }
  39. variable "public_key_path" {
  40. description = "The path of the ssh pub key"
  41. default = "~/.ssh/id_rsa.pub"
  42. }
  43. variable "image" {
  44. description = "the image to use"
  45. default = "ubuntu-14.04"
  46. }
  47. variable "image_gfs" {
  48. description = "Glance image to use for GlusterFS"
  49. default = "ubuntu-16.04"
  50. }
  51. variable "ssh_user" {
  52. description = "used to fill out tags for ansible inventory"
  53. default = "ubuntu"
  54. }
  55. variable "ssh_user_gfs" {
  56. description = "used to fill out tags for ansible inventory"
  57. default = "ubuntu"
  58. }
  59. variable "flavor_bastion" {
  60. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  61. default = 3
  62. }
  63. variable "flavor_k8s_master" {
  64. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  65. default = 3
  66. }
  67. variable "flavor_k8s_node" {
  68. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  69. default = 3
  70. }
  71. variable "flavor_etcd" {
  72. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  73. default = 3
  74. }
  75. variable "flavor_gfs_node" {
  76. description = "Use 'openstack flavor list' command to see what your OpenStack instance uses for IDs"
  77. default = 3
  78. }
  79. variable "network_name" {
  80. description = "name of the internal network to use"
  81. default = "internal"
  82. }
  83. variable "use_neutron" {
  84. description = "Use neutron"
  85. default = 1
  86. }
  87. variable "subnet_cidr" {
  88. description = "Subnet CIDR block."
  89. type = "string"
  90. default = "10.0.0.0/24"
  91. }
  92. variable "dns_nameservers" {
  93. description = "An array of DNS name server names used by hosts in this subnet."
  94. type = "list"
  95. default = []
  96. }
  97. variable "floatingip_pool" {
  98. description = "name of the floating ip pool to use"
  99. default = "external"
  100. }
  101. variable "wait_for_floatingip" {
  102. description = "Terraform will poll the instance until the floating IP has been associated."
  103. default = "false"
  104. }
  105. variable "external_net" {
  106. description = "uuid of the external/public network"
  107. }
  108. variable "supplementary_master_groups" {
  109. description = "supplementary kubespray ansible groups for masters, such kube-node"
  110. default = ""
  111. }
  112. variable "supplementary_node_groups" {
  113. description = "supplementary kubespray ansible groups for worker nodes, such as kube-ingress"
  114. default = ""
  115. }
  116. variable "bastion_allowed_remote_ips" {
  117. description = "An array of CIDRs allowed to SSH to hosts"
  118. type = "list"
  119. default = ["0.0.0.0/0"]
  120. }
  121. variable "master_allowed_remote_ips" {
  122. description = "An array of CIDRs allowed to access API of masters"
  123. type = "list"
  124. default = ["0.0.0.0/0"]
  125. }
  126. variable "k8s_allowed_remote_ips" {
  127. description = "An array of CIDRs allowed to SSH to hosts"
  128. type = "list"
  129. default = []
  130. }
  131. variable "k8s_allowed_egress_ips" {
  132. description = "An array of CIDRs allowed for egress traffic"
  133. type = "list"
  134. default = ["0.0.0.0/0"]
  135. }
  136. variable "worker_allowed_ports" {
  137. type = "list"
  138. default = [
  139. {
  140. "protocol" = "tcp"
  141. "port_range_min" = 30000
  142. "port_range_max" = 32767
  143. "remote_ip_prefix" = "0.0.0.0/0"
  144. },
  145. ]
  146. }