questions.yaml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. groups:
  2. - name: "Networking"
  3. description: "Configure Networking for Machinaris"
  4. - name: "Machinaris Configuration"
  5. description: "Machinaris configuration"
  6. - name: "Storage"
  7. description: "Configure Storage for Machinaris"
  8. - name: "Machinaris Environment Variables"
  9. description: "Set the environment that will be visible to the container"
  10. - name: "Resource Limits"
  11. description: "Set CPU/memory limits for Kubernetes Pod"
  12. portals:
  13. web_portal:
  14. protocols:
  15. - "http"
  16. host:
  17. - "$node_ip"
  18. ports:
  19. - "$variable-machinaris_ui_port"
  20. questions:
  21. - variable: timezone
  22. label: "Configure timezone"
  23. group: "Machinaris Configuration"
  24. description: "Configure timezone for machinaris"
  25. schema:
  26. type: string
  27. $ref:
  28. - "definitions/timezone"
  29. - variable: nodeIP
  30. description: "LAN IP address of your TrueNAS server"
  31. group: "Machinaris Configuration"
  32. label: "Worker Address"
  33. schema:
  34. type: string
  35. $ref:
  36. - "definitions/nodeIP"
  37. - variable: machinaris_ui_port
  38. label: "Machinaris Web UI"
  39. group: "Networking"
  40. description: "Web UI Port for Machinaris"
  41. schema:
  42. type: int
  43. min: 9000
  44. max: 65535
  45. default: 9003
  46. - variable: appVolumeMounts
  47. label: "Machinaris Storage"
  48. group: "Storage"
  49. schema:
  50. type: dict
  51. attrs:
  52. - variable: config
  53. label: "Configuration Volume"
  54. schema:
  55. type: dict
  56. attrs:
  57. - variable: datasetName
  58. label: "Configuration Volume Dataset Name"
  59. schema:
  60. type: string
  61. hidden: true
  62. $ref:
  63. - "normalize/ixVolume"
  64. show_if: [["hostPathEnabled", "=", false]]
  65. default: "config"
  66. editable: false
  67. - variable: mountPath
  68. label: "Configuration Mount Path"
  69. description: "Path where the volume will be mounted inside the pod"
  70. schema:
  71. type: path
  72. hidden: true
  73. editable: true
  74. default: "/root/.chia"
  75. - variable: hostPathEnabled
  76. label: "Enable Custom Host Path for Machinaris Configuration Volume"
  77. schema:
  78. type: boolean
  79. default: false
  80. show_subquestions_if: true
  81. subquestions:
  82. - variable: hostPath
  83. label: "Host Path for Machinaris Configuration Volume"
  84. schema:
  85. type: hostpath
  86. required: true
  87. - variable: plots
  88. label: "Plot Volume"
  89. schema:
  90. type: dict
  91. attrs:
  92. - variable: datasetName
  93. label: "Plots Volume Name"
  94. schema:
  95. type: string
  96. hidden: true
  97. $ref:
  98. - "normalize/ixVolume"
  99. show_if: [["hostPathEnabled", "=", false]]
  100. default: "plots"
  101. editable: false
  102. - variable: mountPath
  103. label: "Plots Mount Path"
  104. description: "Path where the volume will be mounted inside the pod"
  105. schema:
  106. type: path
  107. hidden: true
  108. editable: false
  109. default: "/plots"
  110. - variable: hostPathEnabled
  111. label: "Enable Custom Host Path for Machinaris Plots Volume"
  112. schema:
  113. type: boolean
  114. default: false
  115. show_subquestions_if: true
  116. subquestions:
  117. - variable: hostPath
  118. label: "Host Path for Machinaris Plots Volume"
  119. schema:
  120. type: hostpath
  121. required: true
  122. - variable: extraAppVolumeMounts
  123. label: "Machinaris Extra Host Path Volumes"
  124. group: "Storage"
  125. schema:
  126. type: list
  127. items:
  128. - variable: extraAppVolume
  129. label: "Machinaris Host Path Volume"
  130. description: "Add an extra host path volume for machinaris application"
  131. schema:
  132. type: dict
  133. attrs:
  134. - variable: mountPath
  135. label: "Mount Path in Pod"
  136. description: "Path where the volume will be mounted inside the pod"
  137. schema:
  138. type: path
  139. required: true
  140. - variable: hostPath
  141. label: "Host Path"
  142. description: "Host path"
  143. schema:
  144. type: hostpath
  145. required: true
  146. - variable: environmentVariables
  147. label: "Environment Variables for Machinaris"
  148. group: "Machinaris Environment Variables"
  149. schema:
  150. type: list
  151. default: []
  152. items:
  153. - variable: environmentVariable
  154. label: "Environment Variable"
  155. schema:
  156. type: dict
  157. attrs:
  158. - variable: name
  159. label: "Name"
  160. schema:
  161. type: string
  162. - variable: value
  163. label: "Value"
  164. schema:
  165. type: string
  166. - variable: enableResourceLimits
  167. label: "Enable Pod resource limits"
  168. group: "Resource Limits"
  169. schema:
  170. type: boolean
  171. - variable: cpuLimit
  172. label: "CPU limit"
  173. group: "Resource Limits"
  174. schema:
  175. type: string
  176. show_if: [["enableResourceLimits", "=", true]]
  177. valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)"
  178. - variable: memLimit
  179. label: "Memory limit"
  180. group: "Resource Limits"
  181. schema:
  182. type: string
  183. show_if: [["enableResourceLimits", "=", true]]
  184. valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"