questions.yaml 20 KB

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