questions.yaml 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. groups:
  2. - name: "Configuration"
  3. description: "Diskover application configuration"
  4. - name: "Storage"
  5. description: "Configure storage for Diskover"
  6. - name: "Networking"
  7. description: "Networking Configuration for Diskover"
  8. - name: "Advanced DNS Settings"
  9. description: "Configure DNS settings"
  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-web_port"
  20. path: "/"
  21. questions:
  22. - variable: web_port
  23. label: "Web Port for Diskover"
  24. group: Networking
  25. schema:
  26. type: int
  27. min: 8000
  28. max: 65535
  29. default: 22510
  30. required: true
  31. - variable: timezone
  32. label: "Configure timezone"
  33. group: "Configuration"
  34. description: "Configure timezone for Diskover"
  35. schema:
  36. type: string
  37. $ref:
  38. - "definitions/timezone"
  39. - variable: dnsConfig
  40. label: "DNS Configuration"
  41. group: "Advanced DNS Settings"
  42. schema:
  43. type: dict
  44. attrs:
  45. - variable: options
  46. label: "DNS Options"
  47. schema:
  48. type: list
  49. items:
  50. - variable: optionsEntry
  51. label: "Option Entry Configuration"
  52. schema:
  53. type: dict
  54. attrs:
  55. - variable: name
  56. label: "Option Name"
  57. schema:
  58. type: string
  59. required: true
  60. - variable: value
  61. label: "Option Value"
  62. schema:
  63. type: string
  64. required: true
  65. - variable: ownerUID
  66. label: "Config folder's user id"
  67. description: "Linuxserver uses this user id to configure config's folders permissions"
  68. group: Configuration
  69. schema:
  70. type: int
  71. default: 568
  72. min: 1
  73. max: 65535
  74. - variable: ownerGID
  75. label: "Config folder's group id"
  76. description: "Linuxserver uses this group id to configure config's folders permissions"
  77. group: Configuration
  78. schema:
  79. type: int
  80. default: 568
  81. min: 1
  82. max: 65535
  83. - variable: diskoverCredentials
  84. description: "Configure Diskover Initial Password"
  85. label: "Configure Diskover Initial Username and password"
  86. group: "Configuration"
  87. schema:
  88. type: dict
  89. required: true
  90. additional_attrs: true
  91. attrs:
  92. - variable: username
  93. label: "Username"
  94. description: "UserName for Diskover User"
  95. schema:
  96. type: string
  97. default: "admin"
  98. required: true
  99. - variable: password
  100. label: "Password"
  101. description: "Initial Password for Diskover User"
  102. schema:
  103. type: string
  104. private: true
  105. default: "changeme"
  106. required: true
  107. - variable: environmentVariables
  108. label: "Diskover Extra Environment"
  109. group: "Configuration"
  110. schema:
  111. type: list
  112. default: []
  113. items:
  114. - variable: environmentVariable
  115. label: "Environment Variable"
  116. schema:
  117. type: dict
  118. attrs:
  119. - variable: name
  120. label: "Name"
  121. schema:
  122. type: string
  123. - variable: value
  124. label: "Value"
  125. schema:
  126. type: string
  127. - variable: cronjobSchedule
  128. description: "Cronjobs Consist on 5 values in this specific format 'Minute Hour Day Month Week'"
  129. label: "Define cronjob schedule for diskover"
  130. group: "Configuration"
  131. schema:
  132. type: string
  133. default: "0 3 * * *"
  134. - variable: appVolumeMounts
  135. label: "Diskover Storage"
  136. group: "Storage"
  137. schema:
  138. type: dict
  139. attrs:
  140. - variable: config
  141. label: "Storage Volume for Configuration"
  142. schema:
  143. type: dict
  144. attrs:
  145. - variable: datasetName
  146. label: "Configuration Storage Volume Dataset Name"
  147. schema:
  148. type: string
  149. hidden: true
  150. $ref:
  151. - "normalize/ixVolume"
  152. show_if: [["hostPathEnabled", "=", false]]
  153. default: "ix-config"
  154. editable: false
  155. - variable: mountPath
  156. label: "Configuration Storage Mount Path"
  157. description: "Path where the volume will be mounted inside the pod"
  158. schema:
  159. type: path
  160. hidden: true
  161. editable: true
  162. default: "/config"
  163. - variable: hostPathEnabled
  164. label: "Enable Custom Host Path for Diskover Configuration Storage Volume"
  165. schema:
  166. type: boolean
  167. default: false
  168. show_subquestions_if: true
  169. subquestions:
  170. - variable: hostPath
  171. label: "Host Path for Diskover Configuration Storage Volume"
  172. schema:
  173. type: hostpath
  174. required: true
  175. - variable: data
  176. label: "Storage Volume for Data"
  177. schema:
  178. type: dict
  179. attrs:
  180. - variable: datasetName
  181. label: "Configuration Storage Volume Dataset Name"
  182. schema:
  183. type: string
  184. hidden: true
  185. $ref:
  186. - "normalize/ixVolume"
  187. show_if: [["hostPathEnabled", "=", false]]
  188. default: "ix-data"
  189. editable: false
  190. - variable: mountPath
  191. label: "Configuration Storage Mount Path"
  192. description: "Path where the volume will be mounted inside the pod"
  193. schema:
  194. type: path
  195. hidden: true
  196. editable: true
  197. default: "/data"
  198. - variable: hostPathEnabled
  199. label: "Enable Custom Host Path for Diskover Data folder to monitor"
  200. schema:
  201. type: boolean
  202. default: false
  203. show_subquestions_if: true
  204. subquestions:
  205. - variable: hostPath
  206. label: "Host Path for Diskover Data folder to monitor"
  207. schema:
  208. type: hostpath
  209. required: true
  210. - variable: extraDataVolumeMounts
  211. label: "Add Extra Host Paths For Diskover To Monitor"
  212. group: "Storage"
  213. schema:
  214. type: list
  215. items:
  216. - variable: dataAppVolume
  217. label: "Host Path Volume"
  218. description: "Add extra Data Volumes for diskover to monitor"
  219. schema:
  220. type: dict
  221. attrs:
  222. - variable: mountPath
  223. label: "Mount Path in Pod"
  224. description: "Path where the volume will be mounted inside the pod"
  225. schema:
  226. type: path
  227. required: true
  228. - variable: hostPath
  229. label: "Host Path"
  230. description: "Host path"
  231. schema:
  232. type: hostpath
  233. required: true
  234. - variable: extraAppVolumeMounts
  235. label: "Extra Host Path Volumes"
  236. group: "Storage"
  237. schema:
  238. type: list
  239. items:
  240. - variable: extraAppVolume
  241. label: "Host Path Volume"
  242. description: "Add an extra host path volume for Diskover application"
  243. schema:
  244. type: dict
  245. attrs:
  246. - variable: mountPath
  247. label: "Mount Path in Pod"
  248. description: "Path where the volume will be mounted inside the pod"
  249. schema:
  250. type: path
  251. required: true
  252. - variable: hostPath
  253. label: "Host Path"
  254. description: "Host path"
  255. schema:
  256. type: hostpath
  257. required: true
  258. - variable: elasticSearchAppVolumeMounts
  259. label: "elastic search Storage"
  260. group: "Storage"
  261. schema:
  262. type: dict
  263. hidden: true
  264. attrs:
  265. - variable: esdata
  266. label: "Storage Volume for Configuration"
  267. schema:
  268. type: dict
  269. attrs:
  270. - variable: datasetName
  271. label: "Configuration Storage Volume Dataset Name"
  272. schema:
  273. type: string
  274. $ref:
  275. - "normalize/ixVolume"
  276. default: "ix-elasticsearch-data"
  277. editable: false
  278. - variable: mountPath
  279. label: "Configuration Storage Mount Path"
  280. description: "Path where the volume will be mounted inside the pod"
  281. schema:
  282. type: path
  283. editable: false
  284. default: "/usr/share/elasticsearch/data"
  285. - variable: enableResourceLimits
  286. label: "Enable Pod resource limits"
  287. group: "Resource Limits"
  288. schema:
  289. type: boolean
  290. default: false
  291. - variable: cpuLimit
  292. label: "CPU Limit"
  293. description: "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100."
  294. group: "Resource Limits"
  295. schema:
  296. type: string
  297. show_if: [["enableResourceLimits", "=", true]]
  298. valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)"
  299. default: "4000m"
  300. - variable: memLimit
  301. label: "Memory Limit"
  302. group: "Resource Limits"
  303. 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"
  304. schema:
  305. type: string
  306. show_if: [["enableResourceLimits", "=", true]]
  307. valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
  308. default: "8Gi"