questions.yaml 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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. "null": true
  135. $ref:
  136. - "definitions/certificate"
  137. - variable: hostNetwork
  138. label: Host Network
  139. description: |
  140. Bind to the host network. It's recommended to keep this disabled.</br>
  141. schema:
  142. type: boolean
  143. default: false
  144. - variable: webdavStorage
  145. label: ""
  146. group: Storage Configuration
  147. schema:
  148. type: dict
  149. attrs:
  150. - variable: shares
  151. label: Shares
  152. description: Shares for WebDAV.
  153. schema:
  154. type: list
  155. empty: false
  156. required: true
  157. default: []
  158. items:
  159. - variable: shareEntry
  160. label: Share Entry
  161. schema:
  162. type: dict
  163. attrs:
  164. - variable: enabled
  165. label: Enable the share
  166. description: Enable the share.
  167. schema:
  168. type: boolean
  169. default: true
  170. - variable: name
  171. label: Share Name
  172. description: |
  173. The name of the share.</br>
  174. Also serves as the endpoint for the share.</br>
  175. Example: [share1] will be available at [http://<webdav-ip>:<webdav-port>/share1]
  176. schema:
  177. type: string
  178. valid_chars: '^[a-zA-Z0-9_-]+$'
  179. valid_chars_error: 'Share name can only consist of [Letters(a-z, A-Z), Numbers(0-9), Underscores(_), Dashes(-)]'
  180. required: true
  181. - variable: description
  182. label: Description
  183. description: Share description. Only used for documentation.
  184. schema:
  185. type: string
  186. - variable: hostPath
  187. label: Host Path
  188. description: The host path to use for the share.
  189. schema:
  190. type: hostpath
  191. required: true
  192. - variable: readOnly
  193. label: Read Only
  194. description: |
  195. Enable read only access to the share.</br>
  196. This will disable write access to the share.</br>
  197. Data will be mounted as read only.
  198. schema:
  199. type: boolean
  200. default: false
  201. - variable: fixPermissions
  202. label: Fix Permissions
  203. description: |
  204. Enable permission fix for the share.</br>
  205. This will fix the permissions of the share on startup.</br>
  206. This will change the owner of the share to the user and group specified in [User and Group Configuration].</br>
  207. Note: This will still change permissions even if [Read Only] for the share is enabled.
  208. schema:
  209. type: boolean
  210. default: false
  211. - variable: resources
  212. group: Resources Configuration
  213. label: ""
  214. schema:
  215. type: dict
  216. attrs:
  217. - variable: limits
  218. label: Limits
  219. schema:
  220. type: dict
  221. attrs:
  222. - variable: cpu
  223. label: CPU
  224. description: CPU limit for WebDAV.
  225. schema:
  226. type: string
  227. max_length: 6
  228. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  229. valid_chars_error: |
  230. Valid CPU limit formats are</br>
  231. - Plain Integer - eg. 1</br>
  232. - Float - eg. 0.5</br>
  233. - Milicpu - eg. 500m
  234. default: "4000m"
  235. required: true
  236. - variable: memory
  237. label: Memory
  238. description: Memory limit for WebDAV.
  239. schema:
  240. type: string
  241. max_length: 12
  242. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  243. valid_chars_error: |
  244. Valid Memory limit formats are</br>
  245. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  246. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  247. - Plain Integer in bytes - eg. 1024</br>
  248. - Exponent - eg. 134e6
  249. default: "8Gi"
  250. required: true