questions.yaml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  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. default: []
  156. items:
  157. - variable: shareEntry
  158. label: Share Entry
  159. schema:
  160. type: dict
  161. attrs:
  162. - variable: enabled
  163. label: Enable the share
  164. description: Enable the share.
  165. schema:
  166. type: boolean
  167. default: true
  168. - variable: name
  169. label: Share Name
  170. description: |
  171. The name of the share.</br>
  172. Also serves as the endpoint for the share.</br>
  173. Example: [share1] will be available at [http://<webdav-ip>:<webdav-port>/share1]
  174. schema:
  175. type: string
  176. required: true
  177. - variable: description
  178. label: Description
  179. description: Share description. Only used for documentation.
  180. schema:
  181. type: string
  182. - variable: hostPath
  183. label: Host Path
  184. description: The host path to use for the share.
  185. schema:
  186. type: hostpath
  187. required: true
  188. - variable: readOnly
  189. label: Read Only
  190. description: |
  191. Enable read only access to the share.</br>
  192. This will disable write access to the share.</br>
  193. Data will be mounted as read only.
  194. schema:
  195. type: boolean
  196. default: false
  197. - variable: fixPermissions
  198. label: Fix Permissions
  199. description: |
  200. Enable permission fix for the share.</br>
  201. This will fix the permissions of the share on startup.</br>
  202. This will change the owner of the share to the user and group specified in [User and Group Configuration].
  203. Note: This will still change permissions even if [Read Only] for the share is enabled.
  204. schema:
  205. type: boolean
  206. default: false
  207. - variable: resources
  208. group: Resources Configuration
  209. label: ""
  210. schema:
  211. type: dict
  212. attrs:
  213. - variable: limits
  214. label: Limits
  215. schema:
  216. type: dict
  217. attrs:
  218. - variable: cpu
  219. label: CPU
  220. description: CPU limit for WebDAV.
  221. schema:
  222. type: string
  223. default: "4000m"
  224. required: true
  225. - variable: memory
  226. label: Memory
  227. description: Memory limit for WebDAV.
  228. schema:
  229. type: string
  230. default: "8Gi"
  231. required: true