questions.yaml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. groups:
  2. - name: "Configuration"
  3. description: "Qbittorent application configuration"
  4. - name: "Storage"
  5. description: "Configure storage for qbittorent"
  6. - name: "Networking"
  7. description: "Networking Configuration for qbittorent"
  8. - name: "Advanced DNS Settings"
  9. description: "Configure DNS settings"
  10. portals:
  11. web_portal:
  12. protocols:
  13. - "http"
  14. host:
  15. - "$node_ip"
  16. ports:
  17. - "$variable-web_port"
  18. path: "/"
  19. questions:
  20. - variable: web_port
  21. label: "Web Port for qbittorent"
  22. group: Networking
  23. schema:
  24. type: int
  25. min: 8000
  26. max: 65535
  27. default: 20909
  28. required: true
  29. - variable: tcp_port
  30. label: "TCP Port for qbittorent"
  31. group: Networking
  32. schema:
  33. type: int
  34. min: 8000
  35. max: 65535
  36. default: 20988
  37. required: true
  38. - variable: udp_port
  39. label: "UDP Port for qbittorent"
  40. group: Networking
  41. schema:
  42. type: int
  43. min: 8000
  44. max: 65535
  45. default: 20989
  46. required: true
  47. - variable: dnsConfig
  48. label: "DNS Configuration"
  49. group: "Advanced DNS Settings"
  50. schema:
  51. type: dict
  52. attrs:
  53. - variable: options
  54. label: "DNS Options"
  55. schema:
  56. type: list
  57. items:
  58. - variable: optionsEntry
  59. label: "Option Entry Configuration"
  60. schema:
  61. type: dict
  62. attrs:
  63. - variable: name
  64. label: "Option Name"
  65. schema:
  66. type: string
  67. required: true
  68. - variable: value
  69. label: "Option Value"
  70. schema:
  71. type: string
  72. required: true
  73. - variable: ownerUID
  74. label: "Owner User ID"
  75. group: Configuration
  76. schema:
  77. type: int
  78. default: 568
  79. min: 1
  80. max: 65535
  81. - variable: ownerGID
  82. label: "Owner Group ID"
  83. group: Configuration
  84. schema:
  85. type: int
  86. default: 568
  87. min: 1
  88. max: 65535
  89. - variable: timezone
  90. label: "Timezone"
  91. group: "Configuration"
  92. schema:
  93. type: string
  94. $ref:
  95. - "definitions/timezone"
  96. - variable: environmentVariables
  97. label: "Qbittorent environment"
  98. group: "Configuration"
  99. schema:
  100. type: list
  101. default: [ ]
  102. items:
  103. - variable: environmentVariable
  104. label: "Environment Variable"
  105. schema:
  106. type: dict
  107. attrs:
  108. - variable: name
  109. label: "Name"
  110. schema:
  111. type: string
  112. - variable: value
  113. label: "Value"
  114. schema:
  115. type: string
  116. - variable: appVolumeMounts
  117. label: "Qbittorent Storage"
  118. group: "Storage"
  119. schema:
  120. type: dict
  121. attrs:
  122. - variable: config
  123. label: "Configuration Volume"
  124. schema:
  125. type: dict
  126. attrs:
  127. - variable: datasetName
  128. label: "Configuration Volume Dataset Name"
  129. schema:
  130. type: string
  131. hidden: true
  132. $ref:
  133. - "normalize/ixVolume"
  134. show_if: [["hostPathEnabled", "=", false]]
  135. default: "ix-qbittorent_config"
  136. editable: false
  137. - variable: mountPath
  138. label: "Configuration Mount Path"
  139. description: "Path where the volume will be mounted inside the pod"
  140. schema:
  141. type: path
  142. hidden: true
  143. editable: true
  144. default: "/config"
  145. - variable: hostPathEnabled
  146. label: "Enable Custom Host Path for Qbittorent Configuration Volume"
  147. schema:
  148. type: boolean
  149. default: false
  150. show_subquestions_if: true
  151. subquestions:
  152. - variable: hostPath
  153. label: "Host Path for Qbittorent Configuration Volume"
  154. schema:
  155. type: hostpath
  156. required: true
  157. - variable: downloads
  158. label: "Downloads Volume"
  159. schema:
  160. type: dict
  161. attrs:
  162. - variable: datasetName
  163. label: "Downloads Volume Dataset Name"
  164. schema:
  165. type: string
  166. hidden: true
  167. $ref:
  168. - "normalize/ixVolume"
  169. show_if: [["hostPathEnabled", "=", false]]
  170. default: "ix-qbittorent_data"
  171. editable: false
  172. - variable: mountPath
  173. label: "Downloads Mount Path"
  174. description: "Path where the volume will be mounted inside the pod"
  175. schema:
  176. type: path
  177. hidden: true
  178. editable: true
  179. default: "/downloads"
  180. - variable: hostPathEnabled
  181. label: "Enable Custom Host Path for Qbittorent Downloads Volume"
  182. schema:
  183. type: boolean
  184. default: false
  185. show_subquestions_if: true
  186. subquestions:
  187. - variable: hostPath
  188. label: "Host Path for Qbittorent Downloads Volume"
  189. schema:
  190. type: hostpath
  191. required: true
  192. - variable: extraAppVolumeMounts
  193. label: "Extra Host Path Volumes"
  194. group: "Storage"
  195. schema:
  196. type: list
  197. items:
  198. - variable: extraAppVolume
  199. label: "Host Path Volume"
  200. description: "Add an extra host path volume for Qbittorent application"
  201. schema:
  202. type: dict
  203. attrs:
  204. - variable: mountPath
  205. label: "Mount Path in Pod"
  206. description: "Path where the volume will be mounted inside the pod"
  207. schema:
  208. type: path
  209. required: true
  210. - variable: hostPath
  211. label: "Host Path"
  212. description: "Host path"
  213. schema:
  214. type: hostpath
  215. required: true