questions.yaml 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. groups:
  2. - name: Rsync Configuration
  3. description: Configure Rsync
  4. - name: Network Configuration
  5. description: Configure Network for Rsync
  6. - name: Module Configuration
  7. description: Configure Modules for Rsync
  8. - name: Resources Configuration
  9. description: Configure Resources for Rsync
  10. questions:
  11. - variable: rsyncConfig
  12. label: ""
  13. group: Rsync Configuration
  14. schema:
  15. type: dict
  16. attrs:
  17. - variable: auxParams
  18. label: Auxillary Parameters
  19. description: Configure auxillary parameters for Rsync.
  20. schema:
  21. type: list
  22. default: []
  23. items:
  24. - variable: auxEntry
  25. label: Auxillary Parameter Entry
  26. schema:
  27. type: dict
  28. attrs:
  29. - variable: param
  30. label: Parameter
  31. schema:
  32. type: string
  33. required: true
  34. - variable: value
  35. label: Value
  36. schema:
  37. type: string
  38. required: true
  39. - variable: rsyncNetwork
  40. label: ""
  41. group: Network Configuration
  42. schema:
  43. type: dict
  44. attrs:
  45. - variable: hostNetwork
  46. label: Host Network
  47. description: |
  48. Bind to the host network. It's recommended to keep this disabled.</br>
  49. schema:
  50. type: boolean
  51. default: false
  52. - variable: rsyncPort
  53. label: Rsync Port
  54. description: The port for Rsync.
  55. schema:
  56. type: int
  57. default: 30026
  58. min: 9000
  59. max: 65535
  60. required: true
  61. - variable: rsyncModules
  62. label: ""
  63. group: Module Configuration
  64. schema:
  65. type: list
  66. default: []
  67. empty: false
  68. required: true
  69. items:
  70. - variable: module
  71. label: Rsync Module
  72. schema:
  73. type: dict
  74. attrs:
  75. - variable: name
  76. label: Module Name
  77. description: |
  78. Module name that matches the name requested by the rsync client.
  79. schema:
  80. type: string
  81. valid_chars: '^[a-zA-Z0-9]+([_-]*[a-zA-Z0-9]+)+$'
  82. valid_chars_error: |
  83. Module Name, can include [Letters (a-z, A-Z), Numbers (0,9), Underscore (_), Dash (-)],</br>
  84. but cannot start or end with [Underscore (_), Dash (-), Dot (.)]
  85. required: true
  86. - variable: enabled
  87. label: Enable Module
  88. schema:
  89. type: boolean
  90. default: true
  91. show_subquestions_if: true
  92. subquestions:
  93. - variable: comment
  94. label: Comment
  95. description: Describe the module.
  96. schema:
  97. type: string
  98. - variable: hostPath
  99. label: Host Path
  100. description: |
  101. The path on the host to be shared with the client.</br>
  102. This path must exist on the host.
  103. schema:
  104. type: hostpath
  105. required: true
  106. - variable: accessMode
  107. label: Access Mode
  108. description: |
  109. Choose permissions for this rsync module.
  110. schema:
  111. type: string
  112. required: true
  113. default: RO
  114. enum:
  115. - value: RO
  116. description: Read Only
  117. - value: RW
  118. description: Read Write
  119. - value: WO
  120. description: Write Only
  121. - variable: maxConnections
  122. label: Max Connections
  123. description: |
  124. Maximum number of simultaneous connections to this module.</br>
  125. 0 means unlimited.
  126. schema:
  127. type: int
  128. min: 0
  129. max: 1000
  130. default: 0
  131. required: true
  132. - variable: uid
  133. label: UID
  134. description: |
  135. The UID to use for this module.</br>
  136. schema:
  137. type: int
  138. min: 0
  139. max: 65535
  140. default: 568
  141. required: true
  142. - variable: gid
  143. label: GID
  144. description: |
  145. The GID to use for this module.</br>
  146. schema:
  147. type: int
  148. min: 0
  149. max: 65535
  150. default: 568
  151. required: true
  152. - variable: hostsAllow
  153. label: Hosts Allow
  154. description: |
  155. List of hosts allowed to connect to this module.</br>
  156. Leave empty to allow all hosts.
  157. schema:
  158. type: list
  159. default: []
  160. items:
  161. - variable: host
  162. label: Host to allow
  163. schema:
  164. type: string
  165. required: true
  166. - variable: hostsDeny
  167. label: Hosts Deny
  168. description: |
  169. List of hosts denied to connect to this module.</br>
  170. Leave empty to deny no hosts.
  171. schema:
  172. type: list
  173. default: []
  174. items:
  175. - variable: host
  176. label: Host to deny
  177. schema:
  178. type: string
  179. required: true
  180. - variable: auxParams
  181. label: Auxillary Parameters
  182. description: Configure auxillary parameters for this module.
  183. schema:
  184. type: list
  185. default: []
  186. items:
  187. - variable: auxEntry
  188. label: Auxillary Parameter Entry
  189. schema:
  190. type: dict
  191. attrs:
  192. - variable: param
  193. label: Parameter
  194. schema:
  195. type: string
  196. required: true
  197. - variable: value
  198. label: Value
  199. schema:
  200. type: string
  201. required: true
  202. - variable: resources
  203. group: Resources Configuration
  204. label: ""
  205. schema:
  206. type: dict
  207. attrs:
  208. - variable: limits
  209. label: Limits
  210. schema:
  211. type: dict
  212. attrs:
  213. - variable: cpu
  214. label: CPU
  215. description: CPU limit for Rsync.
  216. schema:
  217. type: string
  218. default: "4000m"
  219. required: true
  220. - variable: memory
  221. label: Memory
  222. description: Memory limit for Rsync.
  223. schema:
  224. type: string
  225. default: "8Gi"
  226. required: true