questions.yaml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621
  1. groups:
  2. - name: Odoo Configuration
  3. description: Configure Odoo
  4. - name: Network Configuration
  5. description: Configure Network for Odoo
  6. - name: Storage Configuration
  7. description: Configure Storage for Odoo
  8. - name: Resources Configuration
  9. description: Configure Resources for Odoo
  10. portals:
  11. web_portal:
  12. protocols:
  13. - "$kubernetes-resource_configmap_portal_protocol"
  14. host:
  15. - "$kubernetes-resource_configmap_portal_host"
  16. ports:
  17. - "$kubernetes-resource_configmap_portal_port"
  18. path: "$kubernetes-resource_configmap_portal_path"
  19. questions:
  20. - variable: odooConfig
  21. label: ""
  22. group: Odoo Configuration
  23. schema:
  24. type: dict
  25. attrs:
  26. - variable: additionalConf
  27. label: Additional File Configuration Options
  28. description: |
  29. Configure additional file configuration options for Odoo.</br>
  30. Options are appended to the end of the configuration file.</br>
  31. After the predefined configuration options.</br>
  32. schema:
  33. type: list
  34. default: []
  35. items:
  36. - variable: conf
  37. label: Configuration Option
  38. schema:
  39. type: dict
  40. attrs:
  41. - variable: key
  42. label: Key
  43. schema:
  44. type: string
  45. required: true
  46. - variable: value
  47. label: Value
  48. schema:
  49. type: string
  50. required: true
  51. - variable: additionalEnvs
  52. label: Additional Environment Variables
  53. description: Configure additional environment variables for Odoo.
  54. schema:
  55. type: list
  56. default: []
  57. items:
  58. - variable: env
  59. label: Environment Variable
  60. schema:
  61. type: dict
  62. attrs:
  63. - variable: name
  64. label: Name
  65. schema:
  66. type: string
  67. required: true
  68. - variable: value
  69. label: Value
  70. schema:
  71. type: string
  72. required: true
  73. - variable: odooNetwork
  74. label: ""
  75. group: Network Configuration
  76. schema:
  77. type: dict
  78. attrs:
  79. - variable: webPort
  80. label: Web Port
  81. description: The port for the Odoo WebUI.
  82. schema:
  83. type: int
  84. default: 30062
  85. min: 9000
  86. max: 65535
  87. required: true
  88. - variable: hostNetwork
  89. label: Host Network
  90. description: |
  91. Bind to the host network. It's recommended to keep this disabled.
  92. schema:
  93. type: boolean
  94. default: false
  95. - variable: odooStorage
  96. label: ""
  97. group: Storage Configuration
  98. schema:
  99. type: dict
  100. attrs:
  101. - variable: data
  102. label: Odoo Data Storage
  103. description: The path to store Odoo data.
  104. schema:
  105. type: dict
  106. attrs:
  107. - variable: type
  108. label: Type
  109. description: |
  110. ixVolume: Is dataset created automatically by the system.</br>
  111. Host Path: Is a path that already exists on the system.
  112. schema:
  113. type: string
  114. required: true
  115. immutable: true
  116. default: ixVolume
  117. enum:
  118. - value: hostPath
  119. description: Host Path (Path that already exists on the system)
  120. - value: ixVolume
  121. description: ixVolume (Dataset created automatically by the system)
  122. - variable: ixVolumeConfig
  123. label: ixVolume Configuration
  124. description: The configuration for the ixVolume dataset.
  125. schema:
  126. type: dict
  127. show_if: [["type", "=", "ixVolume"]]
  128. $ref:
  129. - "normalize/ixVolume"
  130. attrs:
  131. - variable: aclEnable
  132. label: Enable ACL
  133. description: Enable ACL for the dataset.
  134. schema:
  135. type: boolean
  136. default: false
  137. - variable: datasetName
  138. label: Dataset Name
  139. description: The name of the dataset to use for storage.
  140. schema:
  141. type: string
  142. required: true
  143. immutable: true
  144. hidden: true
  145. default: "data"
  146. - variable: aclEntries
  147. label: ACL Configuration
  148. schema:
  149. type: dict
  150. show_if: [["aclEnable", "=", true]]
  151. attrs: []
  152. - variable: hostPathConfig
  153. label: Host Path Configuration
  154. schema:
  155. type: dict
  156. show_if: [["type", "=", "hostPath"]]
  157. attrs:
  158. - variable: aclEnable
  159. label: Enable ACL
  160. description: Enable ACL for the dataset.
  161. schema:
  162. type: boolean
  163. default: false
  164. - variable: acl
  165. label: ACL Configuration
  166. schema:
  167. type: dict
  168. show_if: [["aclEnable", "=", true]]
  169. attrs: []
  170. $ref:
  171. - "normalize/acl"
  172. - variable: hostPath
  173. label: Host Path
  174. description: The host path to use for storage.
  175. schema:
  176. type: hostpath
  177. show_if: [["aclEnable", "=", false]]
  178. required: true
  179. - variable: addons
  180. label: Odoo Addons Storage
  181. description: The path to store Odoo addons storage.
  182. schema:
  183. type: dict
  184. attrs:
  185. - variable: type
  186. label: Type
  187. description: |
  188. ixVolume: Is dataset created automatically by the system.</br>
  189. Host Path: Is a path that already exists on the system.
  190. schema:
  191. type: string
  192. required: true
  193. immutable: true
  194. default: ixVolume
  195. enum:
  196. - value: hostPath
  197. description: Host Path (Path that already exists on the system)
  198. - value: ixVolume
  199. description: ixVolume (Dataset created automatically by the system)
  200. - variable: ixVolumeConfig
  201. label: ixVolume Configuration
  202. description: The configuration for the ixVolume dataset.
  203. schema:
  204. type: dict
  205. show_if: [["type", "=", "ixVolume"]]
  206. $ref:
  207. - "normalize/ixVolume"
  208. attrs:
  209. - variable: aclEnable
  210. label: Enable ACL
  211. description: Enable ACL for the dataset.
  212. schema:
  213. type: boolean
  214. default: false
  215. - variable: datasetName
  216. label: Dataset Name
  217. description: The name of the dataset to use for storage.
  218. schema:
  219. type: string
  220. required: true
  221. immutable: true
  222. hidden: true
  223. default: "addons"
  224. - variable: aclEntries
  225. label: ACL Configuration
  226. schema:
  227. type: dict
  228. show_if: [["aclEnable", "=", true]]
  229. attrs: []
  230. - variable: hostPathConfig
  231. label: Host Path Configuration
  232. schema:
  233. type: dict
  234. show_if: [["type", "=", "hostPath"]]
  235. attrs:
  236. - variable: aclEnable
  237. label: Enable ACL
  238. description: Enable ACL for the dataset.
  239. schema:
  240. type: boolean
  241. default: false
  242. - variable: acl
  243. label: ACL Configuration
  244. schema:
  245. type: dict
  246. show_if: [["aclEnable", "=", true]]
  247. attrs: []
  248. $ref:
  249. - "normalize/acl"
  250. - variable: hostPath
  251. label: Host Path
  252. description: The host path to use for storage.
  253. schema:
  254. type: hostpath
  255. show_if: [["aclEnable", "=", false]]
  256. required: true
  257. - variable: pgData
  258. label: Odoo Postgres Data Storage
  259. description: The path to store Odoo Postgres Data.
  260. schema:
  261. type: dict
  262. attrs:
  263. - variable: type
  264. label: Type
  265. description: |
  266. ixVolume: Is dataset created automatically by the system.</br>
  267. Host Path: Is a path that already exists on the system.
  268. schema:
  269. type: string
  270. required: true
  271. immutable: true
  272. default: ixVolume
  273. enum:
  274. - value: hostPath
  275. description: Host Path (Path that already exists on the system)
  276. - value: ixVolume
  277. description: ixVolume (Dataset created automatically by the system)
  278. - variable: ixVolumeConfig
  279. label: ixVolume Configuration
  280. description: The configuration for the ixVolume dataset.
  281. schema:
  282. type: dict
  283. # Nothing to show for the user
  284. hidden: true
  285. show_if: [["type", "=", "ixVolume"]]
  286. $ref:
  287. - "normalize/ixVolume"
  288. attrs:
  289. - variable: aclEnable
  290. label: Enable ACL
  291. description: Enable ACL for the dataset.
  292. schema:
  293. type: boolean
  294. # Postgres does a CHMOD at startup
  295. # Which fails with ACL
  296. hidden: true
  297. default: false
  298. - variable: datasetName
  299. label: Dataset Name
  300. description: The name of the dataset to use for storage.
  301. schema:
  302. type: string
  303. required: true
  304. immutable: true
  305. hidden: true
  306. default: "pgData"
  307. - variable: aclEntries
  308. label: ACL Configuration
  309. schema:
  310. type: dict
  311. show_if: [["aclEnable", "=", true]]
  312. attrs: []
  313. - variable: hostPathConfig
  314. label: Host Path Configuration
  315. schema:
  316. type: dict
  317. show_if: [["type", "=", "hostPath"]]
  318. attrs:
  319. - variable: aclEnable
  320. label: Enable ACL
  321. description: Enable ACL for the dataset.
  322. schema:
  323. type: boolean
  324. # Postgres does a CHMOD at startup
  325. # Which fails with ACL
  326. hidden: true
  327. default: false
  328. - variable: acl
  329. label: ACL Configuration
  330. schema:
  331. type: dict
  332. show_if: [["aclEnable", "=", true]]
  333. attrs: []
  334. $ref:
  335. - "normalize/acl"
  336. - variable: hostPath
  337. label: Host Path
  338. description: The host path to use for storage.
  339. schema:
  340. type: hostpath
  341. show_if: [["aclEnable", "=", false]]
  342. required: true
  343. - variable: pgBackup
  344. label: Odoo Postgres Backup Storage
  345. description: The path to store Odoo Postgres Backup.
  346. schema:
  347. type: dict
  348. attrs:
  349. - variable: type
  350. label: Type
  351. description: |
  352. ixVolume: Is dataset created automatically by the system.</br>
  353. Host Path: Is a path that already exists on the system.
  354. schema:
  355. type: string
  356. required: true
  357. immutable: true
  358. default: ixVolume
  359. enum:
  360. - value: hostPath
  361. description: Host Path (Path that already exists on the system)
  362. - value: ixVolume
  363. description: ixVolume (Dataset created automatically by the system)
  364. - variable: ixVolumeConfig
  365. label: ixVolume Configuration
  366. description: The configuration for the ixVolume dataset.
  367. schema:
  368. type: dict
  369. # Nothing to show for the user
  370. hidden: true
  371. show_if: [["type", "=", "ixVolume"]]
  372. $ref:
  373. - "normalize/ixVolume"
  374. attrs:
  375. - variable: aclEnable
  376. label: Enable ACL
  377. description: Enable ACL for the dataset.
  378. schema:
  379. type: boolean
  380. # Postgres does a CHMOD at startup
  381. # Which fails with ACL
  382. hidden: true
  383. default: false
  384. - variable: datasetName
  385. label: Dataset Name
  386. description: The name of the dataset to use for storage.
  387. schema:
  388. type: string
  389. required: true
  390. immutable: true
  391. hidden: true
  392. default: "pgBackup"
  393. - variable: aclEntries
  394. label: ACL Configuration
  395. schema:
  396. type: dict
  397. show_if: [["aclEnable", "=", true]]
  398. attrs: []
  399. - variable: hostPathConfig
  400. label: Host Path Configuration
  401. schema:
  402. type: dict
  403. show_if: [["type", "=", "hostPath"]]
  404. attrs:
  405. - variable: aclEnable
  406. label: Enable ACL
  407. description: Enable ACL for the dataset.
  408. schema:
  409. type: boolean
  410. # Postgres does a CHMOD at startup
  411. # Which fails with ACL
  412. hidden: true
  413. default: false
  414. - variable: acl
  415. label: ACL Configuration
  416. schema:
  417. type: dict
  418. show_if: [["aclEnable", "=", true]]
  419. attrs: []
  420. $ref:
  421. - "normalize/acl"
  422. - variable: hostPath
  423. label: Host Path
  424. description: The host path to use for storage.
  425. schema:
  426. type: hostpath
  427. show_if: [["aclEnable", "=", false]]
  428. required: true
  429. - variable: additionalStorages
  430. label: Additional Storage
  431. description: Additional storage for Odoo.
  432. schema:
  433. type: list
  434. default: []
  435. items:
  436. - variable: storageEntry
  437. label: Storage Entry
  438. schema:
  439. type: dict
  440. attrs:
  441. - variable: type
  442. label: Type
  443. description: |
  444. ixVolume: Is dataset created automatically by the system.</br>
  445. Host Path: Is a path that already exists on the system.</br>
  446. SMB Share: Is a SMB share that is mounted to a persistent volume claim.
  447. schema:
  448. type: string
  449. required: true
  450. default: "ixVolume"
  451. immutable: true
  452. enum:
  453. - value: "hostPath"
  454. description: Host Path (Path that already exists on the system)
  455. - value: "ixVolume"
  456. description: ixVolume (Dataset created automatically by the system)
  457. - value: "smb-pv-pvc"
  458. description: SMB Share (Mounts a persistent volume claim to a SMB share)
  459. - variable: readOnly
  460. label: Read Only
  461. description: Mount the volume as read only.
  462. schema:
  463. type: boolean
  464. default: false
  465. - variable: mountPath
  466. label: Mount Path
  467. description: The path inside the container to mount the storage.
  468. schema:
  469. type: path
  470. required: true
  471. - variable: hostPathConfig
  472. label: Host Path Configuration
  473. schema:
  474. type: dict
  475. show_if: [["type", "=", "hostPath"]]
  476. attrs:
  477. - variable: aclEnable
  478. label: Enable ACL
  479. description: Enable ACL for the dataset.
  480. schema:
  481. type: boolean
  482. default: false
  483. - variable: acl
  484. label: ACL Configuration
  485. schema:
  486. type: dict
  487. show_if: [["aclEnable", "=", true]]
  488. attrs: []
  489. $ref:
  490. - "normalize/acl"
  491. - variable: hostPath
  492. label: Host Path
  493. description: The host path to use for storage.
  494. schema:
  495. type: hostpath
  496. show_if: [["aclEnable", "=", false]]
  497. required: true
  498. - variable: ixVolumeConfig
  499. label: ixVolume Configuration
  500. description: The configuration for the ixVolume dataset.
  501. schema:
  502. type: dict
  503. show_if: [["type", "=", "ixVolume"]]
  504. $ref:
  505. - "normalize/ixVolume"
  506. attrs:
  507. - variable: aclEnable
  508. label: Enable ACL
  509. description: Enable ACL for the dataset.
  510. schema:
  511. type: boolean
  512. default: false
  513. - variable: datasetName
  514. label: Dataset Name
  515. description: The name of the dataset to use for storage.
  516. schema:
  517. type: string
  518. required: true
  519. immutable: true
  520. default: "storage_entry"
  521. - variable: aclEntries
  522. label: ACL Configuration
  523. schema:
  524. type: dict
  525. show_if: [["aclEnable", "=", true]]
  526. attrs: []
  527. - variable: smbConfig
  528. label: SMB Share Configuration
  529. description: The configuration for the SMB Share.
  530. schema:
  531. type: dict
  532. show_if: [["type", "=", "smb-pv-pvc"]]
  533. attrs:
  534. - variable: server
  535. label: Server
  536. description: The server for the SMB share.
  537. schema:
  538. type: string
  539. required: true
  540. - variable: share
  541. label: Share
  542. description: The share name for the SMB share.
  543. schema:
  544. type: string
  545. required: true
  546. - variable: domain
  547. label: Domain (Optional)
  548. description: The domain for the SMB share.
  549. schema:
  550. type: string
  551. - variable: username
  552. label: Username
  553. description: The username for the SMB share.
  554. schema:
  555. type: string
  556. required: true
  557. - variable: password
  558. label: Password
  559. description: The password for the SMB share.
  560. schema:
  561. type: string
  562. required: true
  563. private: true
  564. - variable: size
  565. label: Size (in Gi)
  566. description: The size of the volume quota.
  567. schema:
  568. type: int
  569. required: true
  570. min: 1
  571. default: 1
  572. - variable: resources
  573. label: ""
  574. group: Resources Configuration
  575. schema:
  576. type: dict
  577. attrs:
  578. - variable: limits
  579. label: Limits
  580. schema:
  581. type: dict
  582. attrs:
  583. - variable: cpu
  584. label: CPU
  585. description: CPU limit for Odoo.
  586. schema:
  587. type: string
  588. max_length: 6
  589. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  590. valid_chars_error: |
  591. Valid CPU limit formats are</br>
  592. - Plain Integer - eg. 1</br>
  593. - Float - eg. 0.5</br>
  594. - Milicpu - eg. 500m
  595. default: "4000m"
  596. required: true
  597. - variable: memory
  598. label: Memory
  599. description: Memory limit for Odoo.
  600. schema:
  601. type: string
  602. max_length: 12
  603. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  604. valid_chars_error: |
  605. Valid Memory limit formats are</br>
  606. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  607. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  608. - Plain Integer in bytes - eg. 1024</br>
  609. - Exponent - eg. 134e6
  610. default: "8Gi"
  611. required: true