questions.yaml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  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. required: true
  44. - variable: additionalEnvs
  45. label: Additional Environment Variables
  46. description: Configure additional environment variables for WebDAV.
  47. schema:
  48. type: list
  49. default: []
  50. items:
  51. - variable: env
  52. label: Environment Variable
  53. schema:
  54. type: dict
  55. attrs:
  56. - variable: name
  57. label: Name
  58. schema:
  59. type: string
  60. required: true
  61. - variable: value
  62. label: Value
  63. schema:
  64. type: string
  65. required: true
  66. - variable: webdavRunAs
  67. label: ""
  68. group: User and Group Configuration
  69. schema:
  70. type: dict
  71. attrs:
  72. - variable: user
  73. label: User ID
  74. description: The user id that WebDAV will run as.
  75. schema:
  76. type: int
  77. min: 2
  78. default: 568
  79. required: true
  80. - variable: group
  81. label: Group ID
  82. description: The group id that WebDAV will run as.
  83. schema:
  84. type: int
  85. min: 2
  86. default: 568
  87. required: true
  88. - variable: webdavNetwork
  89. label: ""
  90. group: Network Configuration
  91. schema:
  92. type: dict
  93. attrs:
  94. - variable: http
  95. label: Enable HTTP
  96. description: Enable HTTP for WebDAV.
  97. schema:
  98. type: boolean
  99. default: true
  100. show_subquestions_if: true
  101. subquestions:
  102. - variable: httpPort
  103. label: HTTP Port
  104. description: The port for HTTP WebDAV.
  105. schema:
  106. type: int
  107. default: 30000
  108. min: 9000
  109. max: 65535
  110. required: true
  111. - variable: https
  112. label: Enable HTTPS
  113. description: Enable HTTPS for WebDAV.
  114. schema:
  115. type: boolean
  116. default: false
  117. show_subquestions_if: true
  118. subquestions:
  119. - variable: httpsPort
  120. label: HTTPS Port
  121. description: The port for HTTPS WebDAV.
  122. schema:
  123. type: int
  124. default: 30001
  125. min: 9000
  126. max: 65535
  127. required: true
  128. - variable: certificateID
  129. label: Certificate
  130. description: The certificate to use for HTTPS WebDAV.
  131. schema:
  132. type: int
  133. "null": true
  134. $ref:
  135. - "definitions/certificate"
  136. - variable: hostNetwork
  137. label: Host Network
  138. description: |
  139. Bind to the host network. It's recommended to keep this disabled.</br>
  140. schema:
  141. type: boolean
  142. default: false
  143. - variable: webdavStorage
  144. label: ""
  145. group: Storage Configuration
  146. schema:
  147. type: dict
  148. attrs:
  149. - variable: shares
  150. label: Shares
  151. description: Shares for WebDAV.
  152. schema:
  153. type: list
  154. default: []
  155. items:
  156. - variable: shareEntry
  157. label: Share Entry
  158. schema:
  159. type: dict
  160. attrs:
  161. - variable: enabled
  162. label: Enable the share
  163. description: Enable the share.
  164. schema:
  165. type: boolean
  166. default: true
  167. - variable: name
  168. label: Share Name
  169. description: |
  170. The name of the share.</br>
  171. Also serves as the endpoint for the share.</br>
  172. Example: [share1] will be available at [http://<webdav-ip>:<webdav-port>/share1]
  173. schema:
  174. type: string
  175. required: true
  176. - variable: description
  177. label: Description
  178. description: Share description. Only used for documentation.
  179. schema:
  180. type: string
  181. - variable: hostPath
  182. label: Host Path
  183. description: The host path to use for the share.
  184. schema:
  185. type: hostpath
  186. required: true
  187. - variable: readOnly
  188. label: Read Only
  189. description: |
  190. Enable read only access to the share.</br>
  191. This will disable write access to the share.</br>
  192. Data will be mounted as read only.
  193. schema:
  194. type: boolean
  195. default: false
  196. - variable: fixPermissions
  197. label: Fix Permissions
  198. description: |
  199. Enable permission fix for the share.</br>
  200. This will fix the permissions of the share on startup.</br>
  201. This will change the owner of the share to the user and group specified in [User and Group Configuration].
  202. Note: This will still change permissions even if [Read Only] for the share is enabled.
  203. schema:
  204. type: boolean
  205. default: false
  206. - variable: resources
  207. group: Resources Configuration
  208. label: ""
  209. schema:
  210. type: dict
  211. attrs:
  212. - variable: limits
  213. label: Limits
  214. schema:
  215. type: dict
  216. attrs:
  217. - variable: cpu
  218. label: CPU
  219. description: CPU limit for WebDAV.
  220. schema:
  221. type: string
  222. default: "4000m"
  223. required: true
  224. - variable: memory
  225. label: Memory
  226. description: Memory limit for WebDAV.
  227. schema:
  228. type: string
  229. default: "8Gi"
  230. required: true