questions.yaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543
  1. groups:
  2. - name: Versity Gateway Configuration
  3. description: Configure Versity Gateway
  4. - name: User and Group Configuration
  5. description: Configure User and Group for Versity Gateway
  6. - name: Network Configuration
  7. description: Configure Network for Versity Gateway
  8. - name: Storage Configuration
  9. description: Configure Storage for Versity Gateway
  10. - name: Labels Configuration
  11. description: Configure Labels for Versity Gateway
  12. - name: Resources Configuration
  13. description: Configure Resources for Versity Gateway
  14. questions:
  15. - variable: TZ
  16. group: Versity Gateway Configuration
  17. label: Timezone
  18. schema:
  19. type: string
  20. default: Etc/UTC
  21. required: true
  22. $ref:
  23. - definitions/timezone
  24. - variable: versity
  25. label: ""
  26. group: Versity Gateway Configuration
  27. schema:
  28. type: dict
  29. attrs:
  30. - variable: root_user_access_key
  31. label: Root User Access Key
  32. description: The access key for the root account.
  33. schema:
  34. type: string
  35. required: true
  36. private: true
  37. - variable: root_user_secret_access_key
  38. label: Root User Secret Access Key
  39. description: The secret access key for the root account.
  40. schema:
  41. type: string
  42. required: true
  43. private: true
  44. - variable: additional_envs
  45. label: Additional Environment Variables
  46. schema:
  47. type: list
  48. default: []
  49. items:
  50. - variable: env
  51. label: Environment Variable
  52. schema:
  53. type: dict
  54. attrs:
  55. - variable: name
  56. label: Name
  57. schema:
  58. type: string
  59. required: true
  60. - variable: value
  61. label: Value
  62. schema:
  63. type: string
  64. - variable: additional_global_flags
  65. label: Additional Global Flags
  66. description: |
  67. Additional global command-line flags for Versity Gateway.</br>
  68. If you are unsure, leave this blank.
  69. schema:
  70. type: list
  71. items:
  72. - variable: item
  73. label: ""
  74. schema:
  75. type: dict
  76. attrs:
  77. - variable: flag
  78. label: Flag
  79. schema:
  80. type: string
  81. default: ""
  82. required: true
  83. - variable: value
  84. label: Value
  85. schema:
  86. type: string
  87. default: ""
  88. - variable: additional_posix_flags
  89. label: Additional POSIX Flags
  90. description: |
  91. Additional command-line flags for the POSIX backend of Versity Gateway.</br>
  92. If you are unsure, leave this blank.
  93. schema:
  94. type: list
  95. items:
  96. - variable: item
  97. label: ""
  98. schema:
  99. type: dict
  100. attrs:
  101. - variable: flag
  102. label: Flag
  103. schema:
  104. type: string
  105. default: ""
  106. required: true
  107. - variable: value
  108. label: Value
  109. schema:
  110. type: string
  111. default: ""
  112. - variable: run_as
  113. label: ""
  114. group: User and Group Configuration
  115. schema:
  116. type: dict
  117. attrs:
  118. - variable: user
  119. label: User ID
  120. description: The user id that Versity Gateway files will be owned by.
  121. schema:
  122. type: int
  123. min: 568
  124. default: 568
  125. required: true
  126. - variable: group
  127. label: Group ID
  128. description: The group id that Versity Gateway files will be owned by.
  129. schema:
  130. type: int
  131. min: 568
  132. default: 568
  133. required: true
  134. - variable: network
  135. label: ""
  136. group: Network Configuration
  137. schema:
  138. type: dict
  139. attrs:
  140. - variable: api_port
  141. label: API Port
  142. description: The port for Versity Gateway S3 API
  143. schema:
  144. type: dict
  145. attrs:
  146. - variable: bind_mode
  147. label: Port Bind Mode
  148. description: |
  149. The port bind mode.</br>
  150. - Publish: The port will be published on the host for external access.</br>
  151. - Expose: The port will be exposed for inter-container communication.</br>
  152. - None: The port will not be exposed or published.</br>
  153. Note: If the Dockerfile defines an EXPOSE directive,
  154. the port will still be exposed for inter-container communication regardless of this setting.
  155. schema:
  156. type: string
  157. default: "published"
  158. enum:
  159. - value: "published"
  160. description: Publish port on the host for external access
  161. - value: "exposed"
  162. description: Expose port for inter-container communication
  163. - value: ""
  164. description: None
  165. - variable: port_number
  166. label: Port Number
  167. schema:
  168. type: int
  169. default: 30157
  170. min: 1
  171. max: 65535
  172. required: true
  173. - variable: host_ips
  174. label: Host IPs
  175. description: IPs on the host to bind this port
  176. schema:
  177. type: list
  178. show_if: [["bind_mode", "=", "published"]]
  179. default: []
  180. items:
  181. - variable: host_ip
  182. label: Host IP
  183. schema:
  184. type: string
  185. required: true
  186. $ref:
  187. - definitions/node_bind_ip
  188. - variable: admin_port
  189. label: Admin Port
  190. description: The port for Versity Gateway admin API (defaults to the same as the API port)
  191. schema:
  192. type: dict
  193. attrs:
  194. - variable: bind_mode
  195. label: Port Bind Mode
  196. description: |
  197. The port bind mode.</br>
  198. - Publish: The port will be published on the host for external access.</br>
  199. - Expose: The port will be exposed for inter-container communication.</br>
  200. - None: The port will not be exposed or published.</br>
  201. Note: If the Dockerfile defines an EXPOSE directive,
  202. the port will still be exposed for inter-container communication regardless of this setting.
  203. schema:
  204. type: string
  205. default: ""
  206. enum:
  207. - value: "published"
  208. description: Publish port on the host for external access
  209. - value: "exposed"
  210. description: Expose port for inter-container communication
  211. - value: ""
  212. description: None
  213. - variable: port_number
  214. label: Port Number
  215. schema:
  216. type: int
  217. default: 30158
  218. min: 1
  219. max: 65535
  220. required: true
  221. - variable: host_ips
  222. label: Host IPs
  223. description: IPs on the host to bind this port
  224. schema:
  225. type: list
  226. show_if: [["bind_mode", "=", "published"]]
  227. default: []
  228. items:
  229. - variable: host_ip
  230. label: Host IP
  231. schema:
  232. type: string
  233. required: true
  234. $ref:
  235. - definitions/node_bind_ip
  236. - variable: host_network
  237. label: Host Network
  238. description: |
  239. Bind to the host network. It's recommended to keep this disabled.
  240. schema:
  241. type: boolean
  242. default: false
  243. - variable: certificate_id
  244. label: Certificate
  245. description: The certificate to use for Versity Gateway.
  246. schema:
  247. type: int
  248. "null": true
  249. $ref:
  250. - "definitions/certificate"
  251. - variable: admin_certificate_id
  252. label: Admin Certificate
  253. description: |
  254. The certificate to use for the admin server of Versity Gateway.</br>
  255. Will be ignored if Admin Port's bind mode is None.
  256. schema:
  257. type: int
  258. "null": true
  259. $ref:
  260. - "definitions/certificate"
  261. - variable: storage
  262. label: ""
  263. group: Storage Configuration
  264. schema:
  265. type: dict
  266. attrs:
  267. - variable: buckets
  268. label: Versity Gateway Bucket Storage
  269. description: The path to store S3 bucket data
  270. schema:
  271. type: dict
  272. attrs:
  273. - variable: type
  274. label: Type
  275. description: |
  276. ixVolume: Is dataset created automatically by the system.</br>
  277. Host Path: Is a path that already exists on the system.
  278. schema:
  279. type: string
  280. required: true
  281. default: "ix_volume"
  282. enum:
  283. - value: "host_path"
  284. description: Host Path (Path that already exists on the system)
  285. - value: "ix_volume"
  286. description: ixVolume (Dataset created automatically by the system)
  287. - variable: ix_volume_config
  288. label: ixVolume Configuration
  289. description: The configuration for the ixVolume dataset.
  290. schema:
  291. type: dict
  292. show_if: [["type", "=", "ix_volume"]]
  293. $ref:
  294. - "normalize/ix_volume"
  295. attrs:
  296. - variable: acl_enable
  297. label: Enable ACL
  298. description: Enable ACL for the storage.
  299. schema:
  300. type: boolean
  301. default: false
  302. - variable: dataset_name
  303. label: Dataset Name
  304. description: The name of the dataset to use for storage.
  305. schema:
  306. type: string
  307. required: true
  308. hidden: true
  309. default: "buckets"
  310. - variable: acl_entries
  311. label: ACL Configuration
  312. schema:
  313. type: dict
  314. show_if: [["acl_enable", "=", true]]
  315. attrs: []
  316. - variable: host_path_config
  317. label: Host Path Configuration
  318. schema:
  319. type: dict
  320. show_if: [["type", "=", "host_path"]]
  321. attrs:
  322. - variable: acl_enable
  323. label: Enable ACL
  324. description: Enable ACL for the storage.
  325. schema:
  326. type: boolean
  327. default: false
  328. - variable: acl
  329. label: ACL Configuration
  330. schema:
  331. type: dict
  332. show_if: [["acl_enable", "=", true]]
  333. attrs: []
  334. $ref:
  335. - "normalize/acl"
  336. - variable: path
  337. label: Host Path
  338. description: The host path to use for storage.
  339. schema:
  340. type: hostpath
  341. show_if: [["acl_enable", "=", false]]
  342. required: true
  343. - variable: additional_storage
  344. label: Additional Storage
  345. schema:
  346. type: list
  347. default: []
  348. items:
  349. - variable: storageEntry
  350. label: Storage Entry
  351. schema:
  352. type: dict
  353. attrs:
  354. - variable: type
  355. label: Type
  356. description: |
  357. ixVolume: Is dataset created automatically by the system.</br>
  358. Host Path: Is a path that already exists on the system.</br>
  359. SMB Share: Is a SMB share that is mounted to as a volume.
  360. schema:
  361. type: string
  362. required: true
  363. default: "ix_volume"
  364. enum:
  365. - value: "host_path"
  366. description: Host Path (Path that already exists on the system)
  367. - value: "ix_volume"
  368. description: ixVolume (Dataset created automatically by the system)
  369. - value: "cifs"
  370. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  371. - variable: read_only
  372. label: Read Only
  373. description: Mount the volume as read only.
  374. schema:
  375. type: boolean
  376. default: false
  377. - variable: mount_path
  378. label: Mount Path
  379. description: The path inside the container to mount the storage.
  380. schema:
  381. type: path
  382. required: true
  383. - variable: host_path_config
  384. label: Host Path Configuration
  385. schema:
  386. type: dict
  387. show_if: [["type", "=", "host_path"]]
  388. attrs:
  389. - variable: acl_enable
  390. label: Enable ACL
  391. description: Enable ACL for the storage.
  392. schema:
  393. type: boolean
  394. default: false
  395. - variable: acl
  396. label: ACL Configuration
  397. schema:
  398. type: dict
  399. show_if: [["acl_enable", "=", true]]
  400. attrs: []
  401. $ref:
  402. - "normalize/acl"
  403. - variable: path
  404. label: Host Path
  405. description: The host path to use for storage.
  406. schema:
  407. type: hostpath
  408. show_if: [["acl_enable", "=", false]]
  409. required: true
  410. - variable: ix_volume_config
  411. label: ixVolume Configuration
  412. description: The configuration for the ixVolume dataset.
  413. schema:
  414. type: dict
  415. show_if: [["type", "=", "ix_volume"]]
  416. $ref:
  417. - "normalize/ix_volume"
  418. attrs:
  419. - variable: acl_enable
  420. label: Enable ACL
  421. description: Enable ACL for the storage.
  422. schema:
  423. type: boolean
  424. default: false
  425. - variable: dataset_name
  426. label: Dataset Name
  427. description: The name of the dataset to use for storage.
  428. schema:
  429. type: string
  430. required: true
  431. default: "storage_entry"
  432. - variable: acl_entries
  433. label: ACL Configuration
  434. schema:
  435. type: dict
  436. show_if: [["acl_enable", "=", true]]
  437. attrs: []
  438. $ref:
  439. - "normalize/acl"
  440. - variable: cifs_config
  441. label: SMB Configuration
  442. description: The configuration for the SMB dataset.
  443. schema:
  444. type: dict
  445. show_if: [["type", "=", "cifs"]]
  446. attrs:
  447. - variable: server
  448. label: Server
  449. description: The server to mount the SMB share.
  450. schema:
  451. type: string
  452. required: true
  453. - variable: path
  454. label: Path
  455. description: The path to mount the SMB share.
  456. schema:
  457. type: string
  458. required: true
  459. - variable: username
  460. label: Username
  461. description: The username to use for the SMB share.
  462. schema:
  463. type: string
  464. required: true
  465. - variable: password
  466. label: Password
  467. description: The password to use for the SMB share.
  468. schema:
  469. type: string
  470. required: true
  471. private: true
  472. - variable: domain
  473. label: Domain
  474. description: The domain to use for the SMB share.
  475. schema:
  476. type: string
  477. - variable: labels
  478. label: ""
  479. group: Labels Configuration
  480. schema:
  481. type: list
  482. default: []
  483. items:
  484. - variable: label
  485. label: Label
  486. schema:
  487. type: dict
  488. attrs:
  489. - variable: key
  490. label: Key
  491. schema:
  492. type: string
  493. required: true
  494. - variable: value
  495. label: Value
  496. schema:
  497. type: string
  498. required: true
  499. - variable: containers
  500. label: Containers
  501. description: Containers where the label should be applied
  502. schema:
  503. type: list
  504. items:
  505. - variable: container
  506. label: Container
  507. schema:
  508. type: string
  509. required: true
  510. enum:
  511. - value: versity
  512. description: versity
  513. - variable: resources
  514. label: ""
  515. group: Resources Configuration
  516. schema:
  517. type: dict
  518. attrs:
  519. - variable: limits
  520. label: Limits
  521. schema:
  522. type: dict
  523. attrs:
  524. - variable: cpus
  525. label: CPUs
  526. description: CPUs limit for Versity Gateway.
  527. schema:
  528. type: int
  529. default: 2
  530. required: true
  531. - variable: memory
  532. label: Memory (in MB)
  533. description: Memory limit for Versity Gateway.
  534. schema:
  535. type: int
  536. default: 4096
  537. required: true