questions.yaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. groups:
  2. - name: MongoDB Configuration
  3. description: Configure MongoDB
  4. - name: User and Group Configuration
  5. description: Configure User and Group for MongoDB
  6. - name: Network Configuration
  7. description: Configure Network for MongoDB
  8. - name: Storage Configuration
  9. description: Configure Storage for MongoDB
  10. - name: Labels Configuration
  11. description: Configure Labels for MongoDB
  12. - name: Resources Configuration
  13. description: Configure Resources for MongoDB
  14. questions:
  15. - variable: mongodb
  16. label: ""
  17. group: MongoDB Configuration
  18. schema:
  19. type: dict
  20. attrs:
  21. - variable: image_selector
  22. label: Image Selector
  23. description: |
  24. The image to use for MongoDB.</br>
  25. Selecting an image with pgvector will use a pgvector image (not the official MongoDB).
  26. schema:
  27. type: string
  28. default: "image"
  29. required: true
  30. enum:
  31. - value: "image"
  32. description: MongoDB 8 Image
  33. - value: "v7_image"
  34. description: MongoDB 7 Image
  35. - variable: user
  36. label: User
  37. description: The database user.
  38. schema:
  39. type: string
  40. default: ""
  41. required: true
  42. - variable: password
  43. label: Password
  44. description: The database password.
  45. schema:
  46. type: string
  47. default: ""
  48. required: true
  49. private: true
  50. - variable: database
  51. label: Database
  52. description: The database name.
  53. schema:
  54. type: string
  55. default: ""
  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 MongoDB files will be owned by.
  86. schema:
  87. type: int
  88. min: 568
  89. default: 568
  90. required: true
  91. - variable: group
  92. label: Group ID
  93. description: The group id that MongoDB files will be owned by.
  94. schema:
  95. type: int
  96. min: 568
  97. default: 568
  98. required: true
  99. - variable: network
  100. label: ""
  101. group: Network Configuration
  102. schema:
  103. type: dict
  104. attrs:
  105. - variable: tcp_port
  106. label: TCP Port
  107. description: The port for MongoDB TCP
  108. schema:
  109. type: dict
  110. show_if: [["host_network", "=", false]]
  111. attrs:
  112. - variable: bind_mode
  113. label: Port Bind Mode
  114. description: |
  115. The port bind mode.</br>
  116. - Publish: The port will be published on the host for external access.</br>
  117. - Expose: The port will be exposed for inter-container communication.</br>
  118. - None: The port will not be exposed or published.</br>
  119. Note: If the Dockerfile defines an EXPOSE directive,
  120. the port will still be exposed for inter-container communication regardless of this setting.
  121. schema:
  122. type: string
  123. default: "published"
  124. enum:
  125. - value: "published"
  126. description: Publish port on the host for external access
  127. - value: "exposed"
  128. description: Expose port for inter-container communication
  129. - value: ""
  130. description: None
  131. - variable: port_number
  132. label: Port Number
  133. schema:
  134. type: int
  135. default: 27017
  136. show_if: [["bind_mode", "=", "published"]]
  137. min: 1
  138. max: 65535
  139. required: true
  140. - variable: host_ips
  141. label: Host IPs
  142. description: IPs on the host to bind this port
  143. schema:
  144. type: list
  145. show_if: [["bind_mode", "=", "published"]]
  146. default: []
  147. items:
  148. - variable: host_ip
  149. label: Host IP
  150. schema:
  151. type: string
  152. required: true
  153. $ref:
  154. - definitions/node_bind_ip
  155. - variable: host_network
  156. label: Host Network
  157. description: Bind to the host network. It's recommended to keep this disabled.
  158. schema:
  159. type: boolean
  160. default: false
  161. - variable: storage
  162. label: ""
  163. group: Storage Configuration
  164. schema:
  165. type: dict
  166. attrs:
  167. - variable: data
  168. label: MongoDB Data Storage
  169. description: The path to store MongoDB Data.
  170. schema:
  171. type: dict
  172. attrs:
  173. - variable: type
  174. label: Type
  175. description: |
  176. ixVolume: Is dataset created automatically by the system.</br>
  177. Host Path: Is a path that already exists on the system.
  178. schema:
  179. type: string
  180. required: true
  181. default: "ix_volume"
  182. enum:
  183. - value: "host_path"
  184. description: Host Path (Path that already exists on the system)
  185. - value: "ix_volume"
  186. description: ixVolume (Dataset created automatically by the system)
  187. - variable: ix_volume_config
  188. label: ixVolume Configuration
  189. description: The configuration for the ixVolume dataset.
  190. schema:
  191. type: dict
  192. show_if: [["type", "=", "ix_volume"]]
  193. $ref:
  194. - "normalize/ix_volume"
  195. attrs:
  196. - variable: acl_enable
  197. label: Enable ACL
  198. description: Enable ACL for the storage.
  199. schema:
  200. type: boolean
  201. default: false
  202. - variable: dataset_name
  203. label: Dataset Name
  204. description: The name of the dataset to use for storage.
  205. schema:
  206. type: string
  207. required: true
  208. hidden: true
  209. default: "data"
  210. - variable: acl_entries
  211. label: ACL Configuration
  212. schema:
  213. type: dict
  214. show_if: [["acl_enable", "=", true]]
  215. attrs: []
  216. - variable: host_path_config
  217. label: Host Path Configuration
  218. schema:
  219. type: dict
  220. show_if: [["type", "=", "host_path"]]
  221. attrs:
  222. - variable: acl_enable
  223. label: Enable ACL
  224. description: Enable ACL for the storage.
  225. schema:
  226. type: boolean
  227. default: false
  228. - variable: acl
  229. label: ACL Configuration
  230. schema:
  231. type: dict
  232. show_if: [["acl_enable", "=", true]]
  233. attrs: []
  234. $ref:
  235. - "normalize/acl"
  236. - variable: path
  237. label: Host Path
  238. description: The host path to use for storage.
  239. schema:
  240. type: hostpath
  241. show_if: [["acl_enable", "=", false]]
  242. required: true
  243. - variable: additional_storage
  244. label: Additional Storage
  245. schema:
  246. type: list
  247. default: []
  248. items:
  249. - variable: storageEntry
  250. label: Storage Entry
  251. schema:
  252. type: dict
  253. attrs:
  254. - variable: type
  255. label: Type
  256. description: |
  257. ixVolume: Is dataset created automatically by the system.</br>
  258. Host Path: Is a path that already exists on the system.</br>
  259. SMB Share: Is a SMB share that is mounted to as a volume.
  260. schema:
  261. type: string
  262. required: true
  263. default: "ix_volume"
  264. enum:
  265. - value: "host_path"
  266. description: Host Path (Path that already exists on the system)
  267. - value: "ix_volume"
  268. description: ixVolume (Dataset created automatically by the system)
  269. - value: "cifs"
  270. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  271. - variable: read_only
  272. label: Read Only
  273. description: Mount the volume as read only.
  274. schema:
  275. type: boolean
  276. default: false
  277. - variable: mount_path
  278. label: Mount Path
  279. description: The path inside the container to mount the storage.
  280. schema:
  281. type: path
  282. required: true
  283. - variable: host_path_config
  284. label: Host Path Configuration
  285. schema:
  286. type: dict
  287. show_if: [["type", "=", "host_path"]]
  288. attrs:
  289. - variable: acl_enable
  290. label: Enable ACL
  291. description: Enable ACL for the storage.
  292. schema:
  293. type: boolean
  294. default: false
  295. - variable: acl
  296. label: ACL Configuration
  297. schema:
  298. type: dict
  299. show_if: [["acl_enable", "=", true]]
  300. attrs: []
  301. $ref:
  302. - "normalize/acl"
  303. - variable: path
  304. label: Host Path
  305. description: The host path to use for storage.
  306. schema:
  307. type: hostpath
  308. show_if: [["acl_enable", "=", false]]
  309. required: true
  310. - variable: ix_volume_config
  311. label: ixVolume Configuration
  312. description: The configuration for the ixVolume dataset.
  313. schema:
  314. type: dict
  315. show_if: [["type", "=", "ix_volume"]]
  316. $ref:
  317. - "normalize/ix_volume"
  318. attrs:
  319. - variable: acl_enable
  320. label: Enable ACL
  321. description: Enable ACL for the storage.
  322. schema:
  323. type: boolean
  324. default: false
  325. - variable: dataset_name
  326. label: Dataset Name
  327. description: The name of the dataset to use for storage.
  328. schema:
  329. type: string
  330. required: true
  331. default: "storage_entry"
  332. - variable: acl_entries
  333. label: ACL Configuration
  334. schema:
  335. type: dict
  336. show_if: [["acl_enable", "=", true]]
  337. attrs: []
  338. $ref:
  339. - "normalize/acl"
  340. - variable: cifs_config
  341. label: SMB Configuration
  342. description: The configuration for the SMB dataset.
  343. schema:
  344. type: dict
  345. show_if: [["type", "=", "cifs"]]
  346. attrs:
  347. - variable: server
  348. label: Server
  349. description: The server to mount the SMB share.
  350. schema:
  351. type: string
  352. required: true
  353. - variable: path
  354. label: Path
  355. description: The path to mount the SMB share.
  356. schema:
  357. type: string
  358. required: true
  359. - variable: username
  360. label: Username
  361. description: The username to use for the SMB share.
  362. schema:
  363. type: string
  364. required: true
  365. - variable: password
  366. label: Password
  367. description: The password to use for the SMB share.
  368. schema:
  369. type: string
  370. required: true
  371. private: true
  372. - variable: domain
  373. label: Domain
  374. description: The domain to use for the SMB share.
  375. schema:
  376. type: string
  377. - variable: labels
  378. label: ""
  379. group: Labels Configuration
  380. schema:
  381. type: list
  382. default: []
  383. items:
  384. - variable: label
  385. label: Label
  386. schema:
  387. type: dict
  388. attrs:
  389. - variable: key
  390. label: Key
  391. schema:
  392. type: string
  393. required: true
  394. - variable: value
  395. label: Value
  396. schema:
  397. type: string
  398. required: true
  399. - variable: containers
  400. label: Containers
  401. description: Containers where the label should be applied
  402. schema:
  403. type: list
  404. items:
  405. - variable: container
  406. label: Container
  407. schema:
  408. type: string
  409. required: true
  410. enum:
  411. - value: mongodb
  412. description: mongodb
  413. - variable: resources
  414. label: ""
  415. group: Resources Configuration
  416. schema:
  417. type: dict
  418. attrs:
  419. - variable: limits
  420. label: Limits
  421. schema:
  422. type: dict
  423. attrs:
  424. - variable: cpus
  425. label: CPUs
  426. description: CPUs limit for MongoDB.
  427. schema:
  428. type: int
  429. default: 2
  430. required: true
  431. - variable: memory
  432. label: Memory (in MB)
  433. description: Memory limit for MongoDB.
  434. schema:
  435. type: int
  436. default: 4096
  437. required: true