questions.yaml 41 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024
  1. groups:
  2. - name: Omada Controller Configuration
  3. description: Configure Omada Controller
  4. - name: User and Group Configuration
  5. description: Configure User and Group for Omada Controller
  6. - name: Network Configuration
  7. description: Configure Network for Omada Controller
  8. - name: Storage Configuration
  9. description: Configure Storage for Omada Controller
  10. - name: Labels Configuration
  11. description: Configure Labels for Omada Controller
  12. - name: Resources Configuration
  13. description: Configure Resources for Omada Controller
  14. questions:
  15. - variable: TZ
  16. group: Omada Controller Configuration
  17. label: Timezone
  18. schema:
  19. type: string
  20. default: Etc/UTC
  21. required: true
  22. $ref:
  23. - definitions/timezone
  24. - variable: omada
  25. label: ""
  26. group: Omada Controller Configuration
  27. schema:
  28. type: dict
  29. attrs:
  30. - variable: additional_envs
  31. label: Additional Environment Variables
  32. schema:
  33. type: list
  34. default: []
  35. items:
  36. - variable: env
  37. label: Environment Variable
  38. schema:
  39. type: dict
  40. attrs:
  41. - variable: name
  42. label: Name
  43. schema:
  44. type: string
  45. required: true
  46. - variable: value
  47. label: Value
  48. schema:
  49. type: string
  50. - variable: run_as
  51. label: ""
  52. group: User and Group Configuration
  53. schema:
  54. type: dict
  55. attrs:
  56. - variable: user
  57. label: User ID
  58. description: The user id that Omada Controller files will be owned by.
  59. schema:
  60. type: int
  61. min: 568
  62. default: 568
  63. required: true
  64. - variable: group
  65. label: Group ID
  66. description: The group id that Omada Controller files will be owned by.
  67. schema:
  68. type: int
  69. min: 568
  70. default: 568
  71. required: true
  72. - variable: network
  73. label: ""
  74. group: Network Configuration
  75. schema:
  76. type: dict
  77. attrs:
  78. - variable: manage_http_port
  79. label: Manage HTTP Port
  80. description: Management portal HTTP port
  81. schema:
  82. type: dict
  83. attrs:
  84. - variable: bind_mode
  85. label: Port Bind Mode
  86. description: |
  87. The port bind mode.</br>
  88. - Publish: The port will be published on the host for external access.</br>
  89. - Expose: The port will be exposed for inter-container communication.</br>
  90. - None: The port will not be exposed or published.</br>
  91. Note: If the Dockerfile defines an EXPOSE directive,
  92. the port will still be exposed for inter-container communication regardless of this setting.
  93. schema:
  94. type: string
  95. default: "published"
  96. enum:
  97. - value: "published"
  98. description: Publish port on the host for external access
  99. - value: "exposed"
  100. description: Expose port for inter-container communication
  101. - value: ""
  102. description: None
  103. - variable: port_number
  104. label: Port Number
  105. schema:
  106. type: int
  107. default: 30076
  108. min: 1
  109. max: 65535
  110. required: true
  111. - variable: host_ips
  112. label: Host IPs
  113. description: IPs on the host to bind this port
  114. schema:
  115. type: list
  116. show_if: [["bind_mode", "=", "published"]]
  117. default: []
  118. items:
  119. - variable: host_ip
  120. label: Host IP
  121. schema:
  122. type: string
  123. required: true
  124. $ref:
  125. - definitions/node_bind_ip
  126. - variable: manage_https_port
  127. label: Manage HTTPS Port
  128. description: Management portal HTTPS port
  129. schema:
  130. type: dict
  131. attrs:
  132. - variable: bind_mode
  133. label: Port Bind Mode
  134. description: |
  135. The port bind mode.</br>
  136. - Publish: The port will be published on the host for external access.</br>
  137. - Expose: The port will be exposed for inter-container communication.</br>
  138. - None: The port will not be exposed or published.</br>
  139. Note: If the Dockerfile defines an EXPOSE directive,
  140. the port will still be exposed for inter-container communication regardless of this setting.
  141. schema:
  142. type: string
  143. default: "published"
  144. enum:
  145. - value: "published"
  146. description: Publish port on the host for external access
  147. - value: "exposed"
  148. description: Expose port for inter-container communication
  149. - value: ""
  150. description: None
  151. - variable: port_number
  152. label: Port Number
  153. schema:
  154. type: int
  155. default: 30077
  156. min: 1
  157. max: 65535
  158. required: true
  159. - variable: host_ips
  160. label: Host IPs
  161. description: IPs on the host to bind this port
  162. schema:
  163. type: list
  164. show_if: [["bind_mode", "=", "published"]]
  165. default: []
  166. items:
  167. - variable: host_ip
  168. label: Host IP
  169. schema:
  170. type: string
  171. required: true
  172. $ref:
  173. - definitions/node_bind_ip
  174. - variable: portal_http_port
  175. label: Portal HTTP Port
  176. description: User portal HTTP port
  177. schema:
  178. type: dict
  179. attrs:
  180. - variable: bind_mode
  181. label: Port Bind Mode
  182. description: |
  183. The port bind mode.</br>
  184. - Publish: The port will be published on the host for external access.</br>
  185. - Expose: The port will be exposed for inter-container communication.</br>
  186. - None: The port will not be exposed or published.</br>
  187. Note: If the Dockerfile defines an EXPOSE directive,
  188. the port will still be exposed for inter-container communication regardless of this setting.
  189. schema:
  190. type: string
  191. default: "published"
  192. enum:
  193. - value: "published"
  194. description: Publish port on the host for external access
  195. - value: "exposed"
  196. description: Expose port for inter-container communication
  197. - value: ""
  198. description: None
  199. - variable: port_number
  200. label: Port Number
  201. schema:
  202. type: int
  203. default: 30078
  204. min: 1
  205. max: 65535
  206. required: true
  207. - variable: host_ips
  208. label: Host IPs
  209. description: IPs on the host to bind this port
  210. schema:
  211. type: list
  212. show_if: [["bind_mode", "=", "published"]]
  213. default: []
  214. items:
  215. - variable: host_ip
  216. label: Host IP
  217. schema:
  218. type: string
  219. required: true
  220. $ref:
  221. - definitions/node_bind_ip
  222. - variable: portal_https_port
  223. label: Portal HTTPS Port
  224. description: User portal HTTPS port
  225. schema:
  226. type: dict
  227. attrs:
  228. - variable: bind_mode
  229. label: Port Bind Mode
  230. description: |
  231. The port bind mode.</br>
  232. - Publish: The port will be published on the host for external access.</br>
  233. - Expose: The port will be exposed for inter-container communication.</br>
  234. - None: The port will not be exposed or published.</br>
  235. Note: If the Dockerfile defines an EXPOSE directive,
  236. the port will still be exposed for inter-container communication regardless of this setting.
  237. schema:
  238. type: string
  239. default: "published"
  240. enum:
  241. - value: "published"
  242. description: Publish port on the host for external access
  243. - value: "exposed"
  244. description: Expose port for inter-container communication
  245. - value: ""
  246. description: None
  247. - variable: port_number
  248. label: Port Number
  249. schema:
  250. type: int
  251. default: 30079
  252. min: 1
  253. max: 65535
  254. required: true
  255. - variable: host_ips
  256. label: Host IPs
  257. description: IPs on the host to bind this port
  258. schema:
  259. type: list
  260. show_if: [["bind_mode", "=", "published"]]
  261. default: []
  262. items:
  263. - variable: host_ip
  264. label: Host IP
  265. schema:
  266. type: string
  267. required: true
  268. $ref:
  269. - definitions/node_bind_ip
  270. - variable: app_discovery_port
  271. label: App Discovery Port
  272. description: Omada Controller can be discovered by the Omada APP within the same network through this port
  273. schema:
  274. type: dict
  275. attrs:
  276. - variable: bind_mode
  277. label: Port Bind Mode
  278. description: |
  279. The port bind mode.</br>
  280. - Publish: The port will be published on the host for external access.</br>
  281. - Expose: The port will be exposed for inter-container communication.</br>
  282. - None: The port will not be exposed or published.</br>
  283. Note: If the Dockerfile defines an EXPOSE directive,
  284. the port will still be exposed for inter-container communication regardless of this setting.
  285. schema:
  286. type: string
  287. default: "published"
  288. enum:
  289. - value: "published"
  290. description: Publish port on the host for external access
  291. - value: "exposed"
  292. description: Expose port for inter-container communication
  293. - value: ""
  294. description: None
  295. - variable: port_number
  296. label: Port Number
  297. schema:
  298. type: int
  299. default: 27001
  300. min: 1
  301. max: 65535
  302. required: true
  303. - variable: host_ips
  304. label: Host IPs
  305. description: IPs on the host to bind this port
  306. schema:
  307. type: list
  308. show_if: [["bind_mode", "=", "published"]]
  309. default: []
  310. items:
  311. - variable: host_ip
  312. label: Host IP
  313. schema:
  314. type: string
  315. required: true
  316. $ref:
  317. - definitions/node_bind_ip
  318. - variable: discovery_port
  319. label: Discovery Port
  320. description: Omada Controller and Omada Discovery Utility discover Omada devices
  321. schema:
  322. type: dict
  323. attrs:
  324. - variable: bind_mode
  325. label: Port Bind Mode
  326. description: |
  327. The port bind mode.</br>
  328. - Publish: The port will be published on the host for external access.</br>
  329. - Expose: The port will be exposed for inter-container communication.</br>
  330. - None: The port will not be exposed or published.</br>
  331. Note: If the Dockerfile defines an EXPOSE directive,
  332. the port will still be exposed for inter-container communication regardless of this setting.
  333. schema:
  334. type: string
  335. default: "published"
  336. enum:
  337. - value: "published"
  338. description: Publish port on the host for external access
  339. - value: "exposed"
  340. description: Expose port for inter-container communication
  341. - value: ""
  342. description: None
  343. - variable: port_number
  344. label: Port Number
  345. schema:
  346. type: int
  347. default: 29810
  348. min: 1
  349. max: 65535
  350. required: true
  351. - variable: host_ips
  352. label: Host IPs
  353. description: IPs on the host to bind this port
  354. schema:
  355. type: list
  356. show_if: [["bind_mode", "=", "published"]]
  357. default: []
  358. items:
  359. - variable: host_ip
  360. label: Host IP
  361. schema:
  362. type: string
  363. required: true
  364. $ref:
  365. - definitions/node_bind_ip
  366. - variable: manager_v1_port
  367. label: Manager V1 Port
  368. description: Omada Controller and Omada Discovery Utility manage the Omada devices running firmware fully adapted to Omada Controller v4*
  369. schema:
  370. type: dict
  371. attrs:
  372. - variable: bind_mode
  373. label: Port Bind Mode
  374. description: |
  375. The port bind mode.</br>
  376. - Publish: The port will be published on the host for external access.</br>
  377. - Expose: The port will be exposed for inter-container communication.</br>
  378. - None: The port will not be exposed or published.</br>
  379. Note: If the Dockerfile defines an EXPOSE directive,
  380. the port will still be exposed for inter-container communication regardless of this setting.
  381. schema:
  382. type: string
  383. default: "published"
  384. enum:
  385. - value: "published"
  386. description: Publish port on the host for external access
  387. - value: "exposed"
  388. description: Expose port for inter-container communication
  389. - value: ""
  390. description: None
  391. - variable: port_number
  392. label: Port Number
  393. schema:
  394. type: int
  395. default: 29811
  396. min: 1
  397. max: 65535
  398. required: true
  399. - variable: host_ips
  400. label: Host IPs
  401. description: IPs on the host to bind this port
  402. schema:
  403. type: list
  404. show_if: [["bind_mode", "=", "published"]]
  405. default: []
  406. items:
  407. - variable: host_ip
  408. label: Host IP
  409. schema:
  410. type: string
  411. required: true
  412. $ref:
  413. - definitions/node_bind_ip
  414. - variable: manager_v2_port
  415. label: Manager V2 Port
  416. description: Omada Controller and Omada Discovery Utility manage the Omada devices running firmware fully adapted to Omada Controller v5*
  417. schema:
  418. type: dict
  419. attrs:
  420. - variable: bind_mode
  421. label: Port Bind Mode
  422. description: |
  423. The port bind mode.</br>
  424. - Publish: The port will be published on the host for external access.</br>
  425. - Expose: The port will be exposed for inter-container communication.</br>
  426. - None: The port will not be exposed or published.</br>
  427. Note: If the Dockerfile defines an EXPOSE directive,
  428. the port will still be exposed for inter-container communication regardless of this setting.
  429. schema:
  430. type: string
  431. default: "published"
  432. enum:
  433. - value: "published"
  434. description: Publish port on the host for external access
  435. - value: "exposed"
  436. description: Expose port for inter-container communication
  437. - value: ""
  438. description: None
  439. - variable: port_number
  440. label: Port Number
  441. schema:
  442. type: int
  443. default: 29814
  444. min: 1
  445. max: 65535
  446. required: true
  447. - variable: host_ips
  448. label: Host IPs
  449. description: IPs on the host to bind this port
  450. schema:
  451. type: list
  452. show_if: [["bind_mode", "=", "published"]]
  453. default: []
  454. items:
  455. - variable: host_ip
  456. label: Host IP
  457. schema:
  458. type: string
  459. required: true
  460. $ref:
  461. - definitions/node_bind_ip
  462. - variable: adopt_v1_port
  463. label: Adopt V1 Port
  464. description: Omada Controller and Omada Discovery Utility manage the Omada devices running firmware fully adapted to Omada Controller v4*
  465. schema:
  466. type: dict
  467. attrs:
  468. - variable: bind_mode
  469. label: Port Bind Mode
  470. description: |
  471. The port bind mode.</br>
  472. - Publish: The port will be published on the host for external access.</br>
  473. - Expose: The port will be exposed for inter-container communication.</br>
  474. - None: The port will not be exposed or published.</br>
  475. Note: If the Dockerfile defines an EXPOSE directive,
  476. the port will still be exposed for inter-container communication regardless of this setting.
  477. schema:
  478. type: string
  479. default: "published"
  480. enum:
  481. - value: "published"
  482. description: Publish port on the host for external access
  483. - value: "exposed"
  484. description: Expose port for inter-container communication
  485. - value: ""
  486. description: None
  487. - variable: port_number
  488. label: Port Number
  489. schema:
  490. type: int
  491. default: 29812
  492. min: 1
  493. max: 65535
  494. required: true
  495. - variable: host_ips
  496. label: Host IPs
  497. description: IPs on the host to bind this port
  498. schema:
  499. type: list
  500. show_if: [["bind_mode", "=", "published"]]
  501. default: []
  502. items:
  503. - variable: host_ip
  504. label: Host IP
  505. schema:
  506. type: string
  507. required: true
  508. $ref:
  509. - definitions/node_bind_ip
  510. - variable: upgrade_v1_port
  511. label: Upgrade V1 Port
  512. description: When upgrading the firmware for the Omada devices running firmware fully adapted to Omada Controller v4*.
  513. schema:
  514. type: dict
  515. attrs:
  516. - variable: bind_mode
  517. label: Port Bind Mode
  518. description: |
  519. The port bind mode.</br>
  520. - Publish: The port will be published on the host for external access.</br>
  521. - Expose: The port will be exposed for inter-container communication.</br>
  522. - None: The port will not be exposed or published.</br>
  523. Note: If the Dockerfile defines an EXPOSE directive,
  524. the port will still be exposed for inter-container communication regardless of this setting.
  525. schema:
  526. type: string
  527. default: "published"
  528. enum:
  529. - value: "published"
  530. description: Publish port on the host for external access
  531. - value: "exposed"
  532. description: Expose port for inter-container communication
  533. - value: ""
  534. description: None
  535. - variable: port_number
  536. label: Port Number
  537. schema:
  538. type: int
  539. default: 29813
  540. min: 1
  541. max: 65535
  542. required: true
  543. - variable: host_ips
  544. label: Host IPs
  545. description: IPs on the host to bind this port
  546. schema:
  547. type: list
  548. show_if: [["bind_mode", "=", "published"]]
  549. default: []
  550. items:
  551. - variable: host_ip
  552. label: Host IP
  553. schema:
  554. type: string
  555. required: true
  556. $ref:
  557. - definitions/node_bind_ip
  558. - variable: transfer_v2_port
  559. label: Transfer V2 Port
  560. description: Omada Controller receives Device Info and Packet Capture files from the Omada devices
  561. schema:
  562. type: dict
  563. attrs:
  564. - variable: bind_mode
  565. label: Port Bind Mode
  566. description: |
  567. The port bind mode.</br>
  568. - Publish: The port will be published on the host for external access.</br>
  569. - Expose: The port will be exposed for inter-container communication.</br>
  570. - None: The port will not be exposed or published.</br>
  571. Note: If the Dockerfile defines an EXPOSE directive,
  572. the port will still be exposed for inter-container communication regardless of this setting.
  573. schema:
  574. type: string
  575. default: "published"
  576. enum:
  577. - value: "published"
  578. description: Publish port on the host for external access
  579. - value: "exposed"
  580. description: Expose port for inter-container communication
  581. - value: ""
  582. description: None
  583. - variable: port_number
  584. label: Port Number
  585. schema:
  586. type: int
  587. default: 29815
  588. min: 1
  589. max: 65535
  590. required: true
  591. - variable: host_ips
  592. label: Host IPs
  593. description: IPs on the host to bind this port
  594. schema:
  595. type: list
  596. show_if: [["bind_mode", "=", "published"]]
  597. default: []
  598. items:
  599. - variable: host_ip
  600. label: Host IP
  601. schema:
  602. type: string
  603. required: true
  604. $ref:
  605. - definitions/node_bind_ip
  606. - variable: rtty_port
  607. label: RTTY Port
  608. description: Omada Controller establishes the remote control terminal session with the Omada devices
  609. schema:
  610. type: dict
  611. attrs:
  612. - variable: bind_mode
  613. label: Port Bind Mode
  614. description: |
  615. The port bind mode.</br>
  616. - Publish: The port will be published on the host for external access.</br>
  617. - Expose: The port will be exposed for inter-container communication.</br>
  618. - None: The port will not be exposed or published.</br>
  619. Note: If the Dockerfile defines an EXPOSE directive,
  620. the port will still be exposed for inter-container communication regardless of this setting.
  621. schema:
  622. type: string
  623. default: "published"
  624. enum:
  625. - value: "published"
  626. description: Publish port on the host for external access
  627. - value: "exposed"
  628. description: Expose port for inter-container communication
  629. - value: ""
  630. description: None
  631. - variable: port_number
  632. label: Port Number
  633. schema:
  634. type: int
  635. default: 29816
  636. min: 1
  637. max: 65535
  638. required: true
  639. - variable: host_ips
  640. label: Host IPs
  641. description: IPs on the host to bind this port
  642. schema:
  643. type: list
  644. show_if: [["bind_mode", "=", "published"]]
  645. default: []
  646. items:
  647. - variable: host_ip
  648. label: Host IP
  649. schema:
  650. type: string
  651. required: true
  652. $ref:
  653. - definitions/node_bind_ip
  654. - variable: host_network
  655. label: Host Network
  656. description: |
  657. Bind to the host network. It's recommended to keep this disabled.
  658. schema:
  659. type: boolean
  660. default: false
  661. - variable: certificate_id
  662. label: Certificate ID
  663. description: The certificate id to use for the https endpoint.
  664. schema:
  665. type: int
  666. "null": true
  667. $ref:
  668. - "definitions/certificate"
  669. - variable: storage
  670. label: ""
  671. group: Storage Configuration
  672. schema:
  673. type: dict
  674. attrs:
  675. - variable: data
  676. label: Omada Controller Data Storage
  677. description: The path to store Omada Controller Data.
  678. schema:
  679. type: dict
  680. attrs:
  681. - variable: type
  682. label: Type
  683. description: |
  684. ixVolume: Is dataset created automatically by the system.</br>
  685. Host Path: Is a path that already exists on the system.
  686. schema:
  687. type: string
  688. required: true
  689. default: "ix_volume"
  690. enum:
  691. - value: "host_path"
  692. description: Host Path (Path that already exists on the system)
  693. - value: "ix_volume"
  694. description: ixVolume (Dataset created automatically by the system)
  695. - variable: ix_volume_config
  696. label: ixVolume Configuration
  697. description: The configuration for the ixVolume dataset.
  698. schema:
  699. type: dict
  700. show_if: [["type", "=", "ix_volume"]]
  701. $ref:
  702. - "normalize/ix_volume"
  703. attrs:
  704. - variable: acl_enable
  705. label: Enable ACL
  706. description: Enable ACL for the storage.
  707. schema:
  708. type: boolean
  709. default: false
  710. - variable: dataset_name
  711. label: Dataset Name
  712. description: The name of the dataset to use for storage.
  713. schema:
  714. type: string
  715. required: true
  716. hidden: true
  717. default: "data"
  718. - variable: acl_entries
  719. label: ACL Configuration
  720. schema:
  721. type: dict
  722. show_if: [["acl_enable", "=", true]]
  723. attrs: []
  724. - variable: host_path_config
  725. label: Host Path Configuration
  726. schema:
  727. type: dict
  728. show_if: [["type", "=", "host_path"]]
  729. attrs:
  730. - variable: acl_enable
  731. label: Enable ACL
  732. description: Enable ACL for the storage.
  733. schema:
  734. type: boolean
  735. default: false
  736. - variable: acl
  737. label: ACL Configuration
  738. schema:
  739. type: dict
  740. show_if: [["acl_enable", "=", true]]
  741. attrs: []
  742. $ref:
  743. - "normalize/acl"
  744. - variable: path
  745. label: Host Path
  746. description: The host path to use for storage.
  747. schema:
  748. type: hostpath
  749. show_if: [["acl_enable", "=", false]]
  750. required: true
  751. - variable: logs
  752. label: Omada Controller Logs Storage
  753. description: The path to store Omada Controller Logs.
  754. schema:
  755. type: dict
  756. attrs:
  757. - variable: type
  758. label: Type
  759. description: |
  760. ixVolume: Is dataset created automatically by the system.</br>
  761. Host Path: Is a path that already exists on the system.
  762. schema:
  763. type: string
  764. required: true
  765. default: "ix_volume"
  766. enum:
  767. - value: "host_path"
  768. description: Host Path (Path that already exists on the system)
  769. - value: "ix_volume"
  770. description: ixVolume (Dataset created automatically by the system)
  771. - variable: ix_volume_config
  772. label: ixVolume Configuration
  773. description: The configuration for the ixVolume dataset.
  774. schema:
  775. type: dict
  776. show_if: [["type", "=", "ix_volume"]]
  777. $ref:
  778. - "normalize/ix_volume"
  779. attrs:
  780. - variable: acl_enable
  781. label: Enable ACL
  782. description: Enable ACL for the storage.
  783. schema:
  784. type: boolean
  785. default: false
  786. - variable: dataset_name
  787. label: Dataset Name
  788. description: The name of the dataset to use for storage.
  789. schema:
  790. type: string
  791. required: true
  792. hidden: true
  793. default: "logs"
  794. - variable: acl_entries
  795. label: ACL Configuration
  796. schema:
  797. type: dict
  798. show_if: [["acl_enable", "=", true]]
  799. attrs: []
  800. - variable: host_path_config
  801. label: Host Path Configuration
  802. schema:
  803. type: dict
  804. show_if: [["type", "=", "host_path"]]
  805. attrs:
  806. - variable: acl_enable
  807. label: Enable ACL
  808. description: Enable ACL for the storage.
  809. schema:
  810. type: boolean
  811. default: false
  812. - variable: acl
  813. label: ACL Configuration
  814. schema:
  815. type: dict
  816. show_if: [["acl_enable", "=", true]]
  817. attrs: []
  818. $ref:
  819. - "normalize/acl"
  820. - variable: path
  821. label: Host Path
  822. description: The host path to use for storage.
  823. schema:
  824. type: hostpath
  825. show_if: [["acl_enable", "=", false]]
  826. required: true
  827. - variable: additional_storage
  828. label: Additional Storage
  829. schema:
  830. type: list
  831. default: []
  832. items:
  833. - variable: storageEntry
  834. label: Storage Entry
  835. schema:
  836. type: dict
  837. attrs:
  838. - variable: type
  839. label: Type
  840. description: |
  841. ixVolume: Is dataset created automatically by the system.</br>
  842. Host Path: Is a path that already exists on the system.</br>
  843. SMB Share: Is a SMB share that is mounted to as a volume.
  844. schema:
  845. type: string
  846. required: true
  847. default: "ix_volume"
  848. enum:
  849. - value: "host_path"
  850. description: Host Path (Path that already exists on the system)
  851. - value: "ix_volume"
  852. description: ixVolume (Dataset created automatically by the system)
  853. - value: "cifs"
  854. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  855. - variable: read_only
  856. label: Read Only
  857. description: Mount the volume as read only.
  858. schema:
  859. type: boolean
  860. default: false
  861. - variable: mount_path
  862. label: Mount Path
  863. description: The path inside the container to mount the storage.
  864. schema:
  865. type: path
  866. required: true
  867. - variable: host_path_config
  868. label: Host Path Configuration
  869. schema:
  870. type: dict
  871. show_if: [["type", "=", "host_path"]]
  872. attrs:
  873. - variable: acl_enable
  874. label: Enable ACL
  875. description: Enable ACL for the storage.
  876. schema:
  877. type: boolean
  878. default: false
  879. - variable: acl
  880. label: ACL Configuration
  881. schema:
  882. type: dict
  883. show_if: [["acl_enable", "=", true]]
  884. attrs: []
  885. $ref:
  886. - "normalize/acl"
  887. - variable: path
  888. label: Host Path
  889. description: The host path to use for storage.
  890. schema:
  891. type: hostpath
  892. show_if: [["acl_enable", "=", false]]
  893. required: true
  894. - variable: ix_volume_config
  895. label: ixVolume Configuration
  896. description: The configuration for the ixVolume dataset.
  897. schema:
  898. type: dict
  899. show_if: [["type", "=", "ix_volume"]]
  900. $ref:
  901. - "normalize/ix_volume"
  902. attrs:
  903. - variable: acl_enable
  904. label: Enable ACL
  905. description: Enable ACL for the storage.
  906. schema:
  907. type: boolean
  908. default: false
  909. - variable: dataset_name
  910. label: Dataset Name
  911. description: The name of the dataset to use for storage.
  912. schema:
  913. type: string
  914. required: true
  915. default: "storage_entry"
  916. - variable: acl_entries
  917. label: ACL Configuration
  918. schema:
  919. type: dict
  920. show_if: [["acl_enable", "=", true]]
  921. attrs: []
  922. - variable: cifs_config
  923. label: SMB Configuration
  924. description: The configuration for the SMB dataset.
  925. schema:
  926. type: dict
  927. show_if: [["type", "=", "cifs"]]
  928. attrs:
  929. - variable: server
  930. label: Server
  931. description: The server to mount the SMB share.
  932. schema:
  933. type: string
  934. required: true
  935. - variable: path
  936. label: Path
  937. description: The path to mount the SMB share.
  938. schema:
  939. type: string
  940. required: true
  941. - variable: username
  942. label: Username
  943. description: The username to use for the SMB share.
  944. schema:
  945. type: string
  946. required: true
  947. - variable: password
  948. label: Password
  949. description: The password to use for the SMB share.
  950. schema:
  951. type: string
  952. required: true
  953. private: true
  954. - variable: domain
  955. label: Domain
  956. description: The domain to use for the SMB share.
  957. schema:
  958. type: string
  959. - variable: labels
  960. label: ""
  961. group: Labels Configuration
  962. schema:
  963. type: list
  964. default: []
  965. items:
  966. - variable: label
  967. label: Label
  968. schema:
  969. type: dict
  970. attrs:
  971. - variable: key
  972. label: Key
  973. schema:
  974. type: string
  975. required: true
  976. - variable: value
  977. label: Value
  978. schema:
  979. type: string
  980. required: true
  981. - variable: containers
  982. label: Containers
  983. description: Containers where the label should be applied
  984. schema:
  985. type: list
  986. items:
  987. - variable: container
  988. label: Container
  989. schema:
  990. type: string
  991. required: true
  992. enum:
  993. - value: omada
  994. description: omada
  995. - variable: resources
  996. label: ""
  997. group: Resources Configuration
  998. schema:
  999. type: dict
  1000. attrs:
  1001. - variable: limits
  1002. label: Limits
  1003. schema:
  1004. type: dict
  1005. attrs:
  1006. - variable: cpus
  1007. label: CPUs
  1008. description: CPUs limit for Omada Controller.
  1009. schema:
  1010. type: int
  1011. default: 2
  1012. required: true
  1013. - variable: memory
  1014. label: Memory (in MB)
  1015. description: Memory limit for Omada Controller.
  1016. schema:
  1017. type: int
  1018. default: 4096
  1019. required: true