questions.yaml 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  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: additionalBrowserMatches
  46. label: Additional Browser Matches
  47. description: |
  48. Additional browser matches for WebDAV.</br>
  49. This is useful if you want to use WebDAV with a browser
  50. that is not supported by the default configuration.</br>
  51. Example: "^some-regex" </br>
  52. This will create the following line in the configuration file:</br>
  53. BrowserMatch "^some-regex" redirect-carefully
  54. schema:
  55. type: list
  56. default: []
  57. items:
  58. - variable: match
  59. label: Match
  60. schema:
  61. type: string
  62. required: true
  63. - variable: additionalEnvs
  64. label: Additional Environment Variables
  65. description: Configure additional environment variables for WebDAV.
  66. schema:
  67. type: list
  68. default: []
  69. items:
  70. - variable: env
  71. label: Environment Variable
  72. schema:
  73. type: dict
  74. attrs:
  75. - variable: name
  76. label: Name
  77. schema:
  78. type: string
  79. required: true
  80. - variable: value
  81. label: Value
  82. schema:
  83. type: string
  84. required: true
  85. - variable: webdavRunAs
  86. label: ""
  87. group: User and Group Configuration
  88. schema:
  89. type: dict
  90. attrs:
  91. - variable: user
  92. label: User ID
  93. description: The user id that WebDAV will run as.
  94. schema:
  95. type: int
  96. min: 2
  97. default: 666
  98. required: true
  99. - variable: group
  100. label: Group ID
  101. description: The group id that WebDAV will run as.
  102. schema:
  103. type: int
  104. min: 2
  105. default: 666
  106. required: true
  107. - variable: webdavNetwork
  108. label: ""
  109. group: Network Configuration
  110. schema:
  111. type: dict
  112. attrs:
  113. - variable: http
  114. label: Enable HTTP
  115. description: Enable HTTP for WebDAV.
  116. schema:
  117. type: boolean
  118. default: true
  119. show_subquestions_if: true
  120. subquestions:
  121. - variable: httpPort
  122. label: HTTP Port
  123. description: The port for HTTP WebDAV.
  124. schema:
  125. type: int
  126. default: 30034
  127. min: 9000
  128. max: 65535
  129. required: true
  130. - variable: https
  131. label: Enable HTTPS
  132. description: Enable HTTPS for WebDAV.
  133. schema:
  134. type: boolean
  135. default: false
  136. show_subquestions_if: true
  137. subquestions:
  138. - variable: httpsPort
  139. label: HTTPS Port
  140. description: The port for HTTPS WebDAV.
  141. schema:
  142. type: int
  143. default: 30035
  144. min: 9000
  145. max: 65535
  146. required: true
  147. - variable: certificateID
  148. label: Certificate
  149. description: The certificate to use for HTTPS WebDAV.
  150. schema:
  151. type: int
  152. required: true
  153. "null": true
  154. $ref:
  155. - "definitions/certificate"
  156. - variable: hostNetwork
  157. label: Host Network
  158. description: |
  159. Bind to the host network. It's recommended to keep this disabled.</br>
  160. schema:
  161. type: boolean
  162. default: false
  163. - variable: webdavStorage
  164. label: ""
  165. group: Storage Configuration
  166. schema:
  167. type: dict
  168. attrs:
  169. - variable: shares
  170. label: Shares
  171. description: Shares for WebDAV.
  172. schema:
  173. type: list
  174. required: true
  175. default: []
  176. items:
  177. - variable: shareEntry
  178. label: Share Entry
  179. schema:
  180. type: dict
  181. attrs:
  182. - variable: enabled
  183. label: Enable the share
  184. description: Enable the share.
  185. schema:
  186. type: boolean
  187. default: true
  188. - variable: name
  189. label: Share Name
  190. description: |
  191. The name of the share.</br>
  192. Also serves as the endpoint for the share.</br>
  193. Example: [share1] will be available at [http://<webdav-ip>:<webdav-port>/share1]
  194. schema:
  195. type: string
  196. valid_chars: "^[a-zA-Z0-9_-]+$"
  197. valid_chars_error: "Share name can only consist of [Letters(a-z, A-Z), Numbers(0-9), Underscores(_), Dashes(-)]"
  198. required: true
  199. - variable: description
  200. label: Description
  201. description: Share description. Only used for documentation.
  202. schema:
  203. type: string
  204. - variable: hostPath
  205. label: Host Path
  206. description: The host path to use for the share.
  207. schema:
  208. type: hostpath
  209. required: true
  210. - variable: readOnly
  211. label: Read Only
  212. description: |
  213. Enable read only access to the share.</br>
  214. This will disable write access to the share.</br>
  215. Data will be mounted as read only.
  216. schema:
  217. type: boolean
  218. default: false
  219. - variable: maxRequestBodySizeInGB
  220. label: Max Request Body Size (in GB)
  221. description: |
  222. The maximum size of the request body in GB.
  223. If the request body size exceeds this value, the request will fail.
  224. Value of 0 means no limit.
  225. schema:
  226. type: int
  227. default: 1
  228. - variable: fixPermissions
  229. label: Fix Permissions
  230. description: |
  231. Enable permission fix for the share.</br>
  232. This will fix the permissions of the share on startup.</br>
  233. This will change the owner of the share to the user and group specified in [User and Group Configuration].</br>
  234. Note: This will still change permissions even if [Read Only] for the share is enabled.
  235. schema:
  236. type: boolean
  237. default: false
  238. - variable: resources
  239. group: Resources Configuration
  240. label: ""
  241. schema:
  242. type: dict
  243. attrs:
  244. - variable: limits
  245. label: Limits
  246. schema:
  247. type: dict
  248. attrs:
  249. - variable: cpu
  250. label: CPU
  251. description: CPU limit for WebDAV.
  252. schema:
  253. type: string
  254. max_length: 6
  255. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  256. valid_chars_error: |
  257. Valid CPU limit formats are</br>
  258. - Plain Integer - eg. 1</br>
  259. - Float - eg. 0.5</br>
  260. - Milicpu - eg. 500m
  261. default: "4000m"
  262. required: true
  263. - variable: memory
  264. label: Memory
  265. description: Memory limit for WebDAV.
  266. schema:
  267. type: string
  268. max_length: 12
  269. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  270. valid_chars_error: |
  271. Valid Memory limit formats are</br>
  272. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  273. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  274. - Plain Integer in bytes - eg. 1024</br>
  275. - Exponent - eg. 134e6
  276. default: "8Gi"
  277. required: true