questions.yaml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. groups:
  2. - name: "Storage"
  3. description: "Configure Storage for Chia"
  4. - name: "Farmr.net Configuration"
  5. description: "Configure farmr.net support"
  6. - name: "Chia Environment Variables"
  7. description: "Set the environment that will be visible to the container"
  8. - name: "Networking"
  9. description: "Configure networking for Chia container"
  10. - name: "Resource Limits"
  11. description: "Set CPU/memory limits for Kubernetes Pod"
  12. portals:
  13. web_portal:
  14. protocols:
  15. - "https"
  16. host:
  17. - "www.truepool.io"
  18. ports:
  19. - "443"
  20. path: "/kb/truepool-docker-image/"
  21. questions:
  22. - variable: farmr_env
  23. label: "Enable 'farmr.net' support"
  24. group: "Farmr.net Configuration"
  25. description: "Configure 'farmr.net' support for chia"
  26. schema:
  27. type: string
  28. default: "off"
  29. enum:
  30. - value: "off"
  31. description: "OFF"
  32. - value: "farmer"
  33. description: "FARMER"
  34. - value: "harvester"
  35. description: "HARVESTER"
  36. - variable: appVolumeMounts
  37. label: "Chia Storage"
  38. group: "Storage"
  39. schema:
  40. type: dict
  41. attrs:
  42. - variable: config
  43. label: "Configuration Volume"
  44. schema:
  45. type: dict
  46. attrs:
  47. - variable: datasetName
  48. label: "Configuration Volume Dataset Name"
  49. schema:
  50. type: string
  51. hidden: true
  52. $ref:
  53. - "normalize/ixVolume"
  54. show_if: [["hostPathEnabled", "=", false]]
  55. default: "config"
  56. editable: false
  57. - variable: mountPath
  58. label: "Configuration Mount Path"
  59. description: "Path where the volume will be mounted inside the pod"
  60. schema:
  61. type: path
  62. hidden: true
  63. editable: true
  64. default: "/data"
  65. - variable: hostPathEnabled
  66. label: "Enable Custom Host Path for Chia Configuration Volume"
  67. schema:
  68. type: boolean
  69. default: false
  70. show_subquestions_if: true
  71. subquestions:
  72. - variable: hostPath
  73. label: "Host Path for Chia Configuration Volume"
  74. schema:
  75. type: hostpath
  76. required: true
  77. - variable: plots
  78. label: "Plot Volume"
  79. schema:
  80. type: dict
  81. attrs:
  82. - variable: datasetName
  83. label: "Plots Volume Name"
  84. schema:
  85. type: string
  86. hidden: true
  87. $ref:
  88. - "normalize/ixVolume"
  89. show_if: [["hostPathEnabled", "=", false]]
  90. default: "plots"
  91. editable: false
  92. - variable: mountPath
  93. label: "Plots Mount Path"
  94. description: "Path where the volume will be mounted inside the pod"
  95. schema:
  96. type: path
  97. hidden: true
  98. editable: false
  99. default: "/plots"
  100. - variable: hostPathEnabled
  101. label: "Enable Custom Host Path for Chia Plots Volume"
  102. schema:
  103. type: boolean
  104. default: false
  105. show_subquestions_if: true
  106. subquestions:
  107. - variable: hostPath
  108. label: "Host Path for Chia Plots Volume"
  109. schema:
  110. type: hostpath
  111. required: true
  112. - variable: extraAppVolumeMounts
  113. label: "Chia Extra Host Path Volumes"
  114. group: "Storage"
  115. schema:
  116. type: list
  117. items:
  118. - variable: extraAppVolume
  119. label: "Chia Host Path Volume"
  120. description: "Add an extra host path volume for chia application"
  121. schema:
  122. type: dict
  123. attrs:
  124. - variable: mountPath
  125. label: "Mount Path in Pod"
  126. description: "Path where the volume will be mounted inside the pod"
  127. schema:
  128. type: path
  129. required: true
  130. - variable: hostPath
  131. label: "Host Path"
  132. description: "Host path"
  133. schema:
  134. type: hostpath
  135. required: true
  136. - variable: environmentVariables
  137. label: "Environment Variables for Chia"
  138. group: "Chia Environment Variables"
  139. schema:
  140. type: list
  141. default: []
  142. items:
  143. - variable: environmentVariable
  144. label: "Environment Variable"
  145. schema:
  146. type: dict
  147. attrs:
  148. - variable: name
  149. label: "Name"
  150. schema:
  151. type: string
  152. - variable: value
  153. label: "Value"
  154. schema:
  155. type: string
  156. - variable: service
  157. description: "Networking Configuration"
  158. label: "Networking Configuration"
  159. group: "Networking"
  160. schema:
  161. type: dict
  162. required: true
  163. attrs:
  164. - variable: nodePort
  165. label: "Node Port to use for Chia"
  166. schema:
  167. type: int
  168. min: 8000
  169. max: 65535
  170. default: 8444
  171. required: true
  172. - variable: farmerPort
  173. label: "Farmer Port to use for Chia"
  174. schema:
  175. type: int
  176. min: 8000
  177. max: 65535
  178. default: 8447
  179. required: true
  180. - variable: enableResourceLimits
  181. label: "Enable Pod resource limits"
  182. group: "Resource Limits"
  183. schema:
  184. type: boolean
  185. default: false
  186. - variable: cpuLimit
  187. label: "CPU Limit"
  188. description: "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100."
  189. group: "Resource Limits"
  190. schema:
  191. type: string
  192. show_if: [["enableResourceLimits", "=", true]]
  193. valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)"
  194. default: "4000m"
  195. - variable: memLimit
  196. label: "Memory Limit"
  197. group: "Resource Limits"
  198. description: "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi"
  199. schema:
  200. type: string
  201. show_if: [["enableResourceLimits", "=", true]]
  202. valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
  203. default: "8Gi"