questions.yaml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. groups:
  2. - name: WebDAV Configuration
  3. description: Configure WebDAV
  4. - name: User and Group Configuration
  5. description: Configure User and Group for WebDAV
  6. - name: Network Configuration
  7. description: Configure Network for WebDAV
  8. - name: Storage Configuration
  9. description: Configure Storage for WebDAV
  10. - name: Resources Configuration
  11. description: Configure Resources for WebDAV
  12. questions:
  13. - variable: webdavConfig
  14. label: ""
  15. group: WebDAV Configuration
  16. schema:
  17. type: dict
  18. attrs:
  19. - variable: authType
  20. label: Authentication Type
  21. description: Select the authentication type for WebDAV.
  22. schema:
  23. type: string
  24. default: "none"
  25. enum:
  26. - value: "none"
  27. description: No Authentication
  28. - value: "basic"
  29. description: Basic Authentication
  30. - variable: username
  31. label: Username
  32. description: The username for basic authentication.
  33. schema:
  34. type: string
  35. show_if: [["authType", "=", "basic"]]
  36. required: true
  37. - variable: password
  38. label: Password
  39. description: The password for basic authentication.
  40. schema:
  41. type: string
  42. show_if: [["authType", "=", "basic"]]
  43. private: true
  44. required: true
  45. - variable: additionalEnvs
  46. label: Additional Environment Variables
  47. description: Configure additional environment variables for WebDAV.
  48. schema:
  49. type: list
  50. default: []
  51. items:
  52. - variable: env
  53. label: Environment Variable
  54. schema:
  55. type: dict
  56. attrs:
  57. - variable: name
  58. label: Name
  59. schema:
  60. type: string
  61. required: true
  62. - variable: value
  63. label: Value
  64. schema:
  65. type: string
  66. required: true
  67. - variable: webdavRunAs
  68. label: ""
  69. group: User and Group Configuration
  70. schema:
  71. type: dict
  72. attrs:
  73. - variable: user
  74. label: User ID
  75. description: The user id that WebDAV will run as.
  76. schema:
  77. type: int
  78. min: 2
  79. default: 666
  80. required: true
  81. - variable: group
  82. label: Group ID
  83. description: The group id that WebDAV will run as.
  84. schema:
  85. type: int
  86. min: 2
  87. default: 666
  88. required: true
  89. - variable: webdavNetwork
  90. label: ""
  91. group: Network Configuration
  92. schema:
  93. type: dict
  94. attrs:
  95. - variable: http
  96. label: Enable HTTP
  97. description: Enable HTTP for WebDAV.
  98. schema:
  99. type: boolean
  100. default: true
  101. show_subquestions_if: true
  102. subquestions:
  103. - variable: httpPort
  104. label: HTTP Port
  105. description: The port for HTTP WebDAV.
  106. schema:
  107. type: int
  108. default: 30034
  109. min: 9000
  110. max: 65535
  111. required: true
  112. - variable: https
  113. label: Enable HTTPS
  114. description: Enable HTTPS for WebDAV.
  115. schema:
  116. type: boolean
  117. default: false
  118. show_subquestions_if: true
  119. subquestions:
  120. - variable: httpsPort
  121. label: HTTPS Port
  122. description: The port for HTTPS WebDAV.
  123. schema:
  124. type: int
  125. default: 30035
  126. min: 9000
  127. max: 65535
  128. required: true
  129. - variable: certificateID
  130. label: Certificate
  131. description: The certificate to use for HTTPS WebDAV.
  132. schema:
  133. type: int
  134. required: true
  135. "null": true
  136. $ref:
  137. - "definitions/certificate"
  138. - variable: hostNetwork
  139. label: Host Network
  140. description: |
  141. Bind to the host network. It's recommended to keep this disabled.</br>
  142. schema:
  143. type: boolean
  144. default: false
  145. - variable: webdavStorage
  146. label: ""
  147. group: Storage Configuration
  148. schema:
  149. type: dict
  150. attrs:
  151. - variable: shares
  152. label: Shares
  153. description: Shares for WebDAV.
  154. schema:
  155. type: list
  156. empty: false
  157. required: true
  158. default: []
  159. items:
  160. - variable: shareEntry
  161. label: Share Entry
  162. schema:
  163. type: dict
  164. attrs:
  165. - variable: enabled
  166. label: Enable the share
  167. description: Enable the share.
  168. schema:
  169. type: boolean
  170. default: true
  171. - variable: name
  172. label: Share Name
  173. description: |
  174. The name of the share.</br>
  175. Also serves as the endpoint for the share.</br>
  176. Example: [share1] will be available at [http://<webdav-ip>:<webdav-port>/share1]
  177. schema:
  178. type: string
  179. valid_chars: '^[a-zA-Z0-9_-]+$'
  180. valid_chars_error: 'Share name can only consist of [Letters(a-z, A-Z), Numbers(0-9), Underscores(_), Dashes(-)]'
  181. required: true
  182. - variable: description
  183. label: Description
  184. description: Share description. Only used for documentation.
  185. schema:
  186. type: string
  187. - variable: hostPath
  188. label: Host Path
  189. description: The host path to use for the share.
  190. schema:
  191. type: hostpath
  192. required: true
  193. - variable: readOnly
  194. label: Read Only
  195. description: |
  196. Enable read only access to the share.</br>
  197. This will disable write access to the share.</br>
  198. Data will be mounted as read only.
  199. schema:
  200. type: boolean
  201. default: false
  202. - variable: fixPermissions
  203. label: Fix Permissions
  204. description: |
  205. Enable permission fix for the share.</br>
  206. This will fix the permissions of the share on startup.</br>
  207. This will change the owner of the share to the user and group specified in [User and Group Configuration].</br>
  208. Note: This will still change permissions even if [Read Only] for the share is enabled.
  209. schema:
  210. type: boolean
  211. default: false
  212. - variable: resources
  213. group: Resources Configuration
  214. label: ""
  215. schema:
  216. type: dict
  217. attrs:
  218. - variable: limits
  219. label: Limits
  220. schema:
  221. type: dict
  222. attrs:
  223. - variable: cpu
  224. label: CPU
  225. description: CPU limit for WebDAV.
  226. schema:
  227. type: string
  228. max_length: 6
  229. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  230. valid_chars_error: |
  231. Valid CPU limit formats are</br>
  232. - Plain Integer - eg. 1</br>
  233. - Float - eg. 0.5</br>
  234. - Milicpu - eg. 500m
  235. default: "4000m"
  236. required: true
  237. - variable: memory
  238. label: Memory
  239. description: Memory limit for WebDAV.
  240. schema:
  241. type: string
  242. max_length: 12
  243. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  244. valid_chars_error: |
  245. Valid Memory limit formats are</br>
  246. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  247. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  248. - Plain Integer in bytes - eg. 1024</br>
  249. - Exponent - eg. 134e6
  250. default: "8Gi"
  251. required: true