questions.yaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539
  1. groups:
  2. - name: Frigate Configuration
  3. description: Configure Frigate
  4. - name: Network Configuration
  5. description: Configure Network for Frigate
  6. - name: Storage Configuration
  7. description: Configure Storage for Frigate
  8. - name: Resources Configuration
  9. description: Configure Resources for Frigate
  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: frigateConfig
  21. label: ""
  22. group: Frigate Configuration
  23. schema:
  24. type: dict
  25. attrs:
  26. - variable: imageSelector
  27. label: Image
  28. description: The image to use for Frigate.
  29. schema:
  30. type: string
  31. default: "image"
  32. required: true
  33. enum:
  34. - value: image
  35. description: Frigate Image
  36. - value: tensorrtImage
  37. description: Frigate TensorRT Image
  38. - variable: mountUSBBus
  39. label: Mount USB Bus
  40. description: |
  41. Mount the USB bus to the container.</br>
  42. This is required if you want to use USB devices, like Coral</br>
  43. This will mount the USB bus to /dev/bus/usb inside the container.
  44. schema:
  45. type: boolean
  46. default: false
  47. - variable: additionalEnvs
  48. label: Additional Environment Variables
  49. description: Configure additional environment variables for Frigate.
  50. schema:
  51. type: list
  52. default: []
  53. items:
  54. - variable: env
  55. label: Environment Variable
  56. schema:
  57. type: dict
  58. attrs:
  59. - variable: name
  60. label: Name
  61. schema:
  62. type: string
  63. required: true
  64. - variable: value
  65. label: Value
  66. schema:
  67. type: string
  68. required: true
  69. - variable: frigateNetwork
  70. label: ""
  71. group: Network Configuration
  72. schema:
  73. type: dict
  74. attrs:
  75. - variable: hostNetwork
  76. label: Host Network
  77. description: |
  78. Bind to the host network. It's recommended to keep this disabled.</br>
  79. schema:
  80. type: boolean
  81. default: false
  82. show_subquestions_if: false
  83. subquestions:
  84. - variable: webPort
  85. label: Web Port
  86. description: |
  87. The port for the Frigate Web UI.</br>
  88. Internal port: 5000
  89. schema:
  90. type: int
  91. default: 30058
  92. min: 9000
  93. max: 65535
  94. required: true
  95. - variable: enableRtmp
  96. label: Enable RTMP
  97. description: Enable RTMP for Frigate.
  98. schema:
  99. type: boolean
  100. default: false
  101. - variable: rtmpPort
  102. label: RTMP Port
  103. description: |
  104. The RTMP port for Frigate.</br>
  105. Internal port: 1935
  106. schema:
  107. type: int
  108. default: 30059
  109. show_if: [["enableRtmp", "=", true]]
  110. min: 9000
  111. max: 65535
  112. required: true
  113. - variable: enableRtsp
  114. label: Enable RTSP
  115. description: Enable RTSP for Frigate.
  116. schema:
  117. type: boolean
  118. default: false
  119. - variable: rtspPort
  120. label: RTSP Port
  121. description: |
  122. The RTSP port for Frigate.</br>
  123. Internal port: 8554
  124. schema:
  125. type: int
  126. default: 30060
  127. show_if: [["enableRtsp", "=", true]]
  128. min: 9000
  129. max: 65535
  130. required: true
  131. - variable: enableWebRtc
  132. label: Enable WebRTC
  133. description: Enable WebRTC for Frigate.
  134. schema:
  135. type: boolean
  136. default: false
  137. - variable: webRtcPort
  138. label: WebRTC Port
  139. description: |
  140. The WebRTC port for Frigate.</br>
  141. Internal port: 8555</br>
  142. Applies to both TCP and UDP.
  143. schema:
  144. type: int
  145. default: 30061
  146. show_if: [["enableWebRtc", "=", true]]
  147. min: 9000
  148. max: 65535
  149. required: true
  150. - variable: frigateStorage
  151. label: ""
  152. group: Storage Configuration
  153. schema:
  154. type: dict
  155. attrs:
  156. - variable: config
  157. label: Frigate Config Storage
  158. description: The path to store Frigate Configuration.
  159. schema:
  160. type: dict
  161. attrs:
  162. - variable: type
  163. label: Type
  164. description: |
  165. ixVolume: Is dataset created automatically by the system.</br>
  166. Host Path: Is a path that already exists on the system.
  167. schema:
  168. type: string
  169. required: true
  170. immutable: true
  171. default: "ixVolume"
  172. enum:
  173. - value: "hostPath"
  174. description: Host Path (Path that already exists on the system)
  175. - value: "ixVolume"
  176. description: ixVolume (Dataset created automatically by the system)
  177. - variable: ixVolumeConfig
  178. label: ixVolume Configuration
  179. description: The configuration for the ixVolume dataset.
  180. schema:
  181. type: dict
  182. show_if: [["type", "=", "ixVolume"]]
  183. $ref:
  184. - "normalize/ixVolume"
  185. attrs:
  186. - variable: aclEnable
  187. label: Enable ACL
  188. description: Enable ACL for the dataset.
  189. schema:
  190. type: boolean
  191. default: false
  192. - variable: datasetName
  193. label: Dataset Name
  194. description: The name of the dataset to use for storage.
  195. schema:
  196. type: string
  197. required: true
  198. immutable: true
  199. hidden: true
  200. default: "config"
  201. - variable: aclEntries
  202. label: ACL Configuration
  203. schema:
  204. type: dict
  205. show_if: [["aclEnable", "=", true]]
  206. attrs: []
  207. - variable: hostPathConfig
  208. label: Host Path Configuration
  209. schema:
  210. type: dict
  211. show_if: [["type", "=", "hostPath"]]
  212. attrs:
  213. - variable: aclEnable
  214. label: Enable ACL
  215. description: Enable ACL for the dataset.
  216. schema:
  217. type: boolean
  218. default: false
  219. - variable: acl
  220. label: ACL Configuration
  221. schema:
  222. type: dict
  223. show_if: [["aclEnable", "=", true]]
  224. attrs: []
  225. $ref:
  226. - "normalize/acl"
  227. - variable: hostPath
  228. label: Host Path
  229. description: The host path to use for storage.
  230. schema:
  231. type: hostpath
  232. show_if: [["aclEnable", "=", false]]
  233. required: true
  234. - variable: media
  235. label: Frigate Media Storage
  236. description: The path to store Frigate Media.
  237. schema:
  238. type: dict
  239. attrs:
  240. - variable: type
  241. label: Type
  242. description: |
  243. ixVolume: Is dataset created automatically by the system.</br>
  244. Host Path: Is a path that already exists on the system.
  245. schema:
  246. type: string
  247. required: true
  248. immutable: true
  249. default: "ixVolume"
  250. enum:
  251. - value: "hostPath"
  252. description: Host Path (Path that already exists on the system)
  253. - value: "ixVolume"
  254. description: ixVolume (Dataset created automatically by the system)
  255. - variable: ixVolumeConfig
  256. label: ixVolume Configuration
  257. description: The configuration for the ixVolume dataset.
  258. schema:
  259. type: dict
  260. show_if: [["type", "=", "ixVolume"]]
  261. $ref:
  262. - "normalize/ixVolume"
  263. attrs:
  264. - variable: aclEnable
  265. label: Enable ACL
  266. description: Enable ACL for the dataset.
  267. schema:
  268. type: boolean
  269. default: false
  270. - variable: datasetName
  271. label: Dataset Name
  272. description: The name of the dataset to use for storage.
  273. schema:
  274. type: string
  275. required: true
  276. immutable: true
  277. hidden: true
  278. default: "media"
  279. - variable: aclEntries
  280. label: ACL Configuration
  281. schema:
  282. type: dict
  283. show_if: [["aclEnable", "=", true]]
  284. attrs: []
  285. - variable: hostPathConfig
  286. label: Host Path Configuration
  287. schema:
  288. type: dict
  289. show_if: [["type", "=", "hostPath"]]
  290. attrs:
  291. - variable: aclEnable
  292. label: Enable ACL
  293. description: Enable ACL for the dataset.
  294. schema:
  295. type: boolean
  296. default: false
  297. - variable: acl
  298. label: ACL Configuration
  299. schema:
  300. type: dict
  301. show_if: [["aclEnable", "=", true]]
  302. attrs: []
  303. $ref:
  304. - "normalize/acl"
  305. - variable: hostPath
  306. label: Host Path
  307. description: The host path to use for storage.
  308. schema:
  309. type: hostpath
  310. show_if: [["aclEnable", "=", false]]
  311. required: true
  312. - variable: cache
  313. label: Frigate Cache Storage
  314. schema:
  315. type: dict
  316. attrs:
  317. - variable: sizeGiB
  318. label: Size (GiB)
  319. description: The size of RAM is allowed to Frigate to use as cache
  320. schema:
  321. type: int
  322. max: 4
  323. default: 1
  324. required: true
  325. - variable: shm
  326. label: Frigate /dev/shm Storage
  327. schema:
  328. type: dict
  329. attrs:
  330. - variable: sizeMiB
  331. label: Size (MiB)
  332. description: |
  333. The size of RAM is allowed to Frigate to use as /dev/shm</br>
  334. https://docs.frigate.video/frigate/installation/#calculating-required-shm-size
  335. schema:
  336. type: int
  337. max: 2048
  338. default: 64
  339. required: true
  340. - variable: additionalStorages
  341. label: Additional Storage
  342. description: Additional storage for Frigate.
  343. schema:
  344. type: list
  345. default: []
  346. items:
  347. - variable: storageEntry
  348. label: Storage Entry
  349. schema:
  350. type: dict
  351. attrs:
  352. - variable: type
  353. label: Type
  354. description: |
  355. ixVolume: Is dataset created automatically by the system.</br>
  356. Host Path: Is a path that already exists on the system.</br>
  357. SMB Share: Is a SMB share that is mounted to a persistent volume claim.
  358. schema:
  359. type: string
  360. required: true
  361. default: "ixVolume"
  362. immutable: true
  363. enum:
  364. - value: "hostPath"
  365. description: Host Path (Path that already exists on the system)
  366. - value: "ixVolume"
  367. description: ixVolume (Dataset created automatically by the system)
  368. - value: "smb-pv-pvc"
  369. description: SMB Share (Mounts a persistent volume claim to a SMB share)
  370. - variable: readOnly
  371. label: Read Only
  372. description: Mount the volume as read only.
  373. schema:
  374. type: boolean
  375. default: false
  376. - variable: mountPath
  377. label: Mount Path
  378. description: The path inside the container to mount the storage.
  379. schema:
  380. type: path
  381. required: true
  382. - variable: hostPathConfig
  383. label: Host Path Configuration
  384. schema:
  385. type: dict
  386. show_if: [["type", "=", "hostPath"]]
  387. attrs:
  388. - variable: aclEnable
  389. label: Enable ACL
  390. description: Enable ACL for the dataset.
  391. schema:
  392. type: boolean
  393. default: false
  394. - variable: acl
  395. label: ACL Configuration
  396. schema:
  397. type: dict
  398. show_if: [["aclEnable", "=", true]]
  399. attrs: []
  400. $ref:
  401. - "normalize/acl"
  402. - variable: hostPath
  403. label: Host Path
  404. description: The host path to use for storage.
  405. schema:
  406. type: hostpath
  407. show_if: [["aclEnable", "=", false]]
  408. required: true
  409. - variable: ixVolumeConfig
  410. label: ixVolume Configuration
  411. description: The configuration for the ixVolume dataset.
  412. schema:
  413. type: dict
  414. show_if: [["type", "=", "ixVolume"]]
  415. $ref:
  416. - "normalize/ixVolume"
  417. attrs:
  418. - variable: aclEnable
  419. label: Enable ACL
  420. description: Enable ACL for the dataset.
  421. schema:
  422. type: boolean
  423. default: false
  424. - variable: datasetName
  425. label: Dataset Name
  426. description: The name of the dataset to use for storage.
  427. schema:
  428. type: string
  429. required: true
  430. immutable: true
  431. default: "storage_entry"
  432. - variable: aclEntries
  433. label: ACL Configuration
  434. schema:
  435. type: dict
  436. show_if: [["aclEnable", "=", true]]
  437. attrs: []
  438. - variable: smbConfig
  439. label: SMB Share Configuration
  440. description: The configuration for the SMB Share.
  441. schema:
  442. type: dict
  443. show_if: [["type", "=", "smb-pv-pvc"]]
  444. attrs:
  445. - variable: server
  446. label: Server
  447. description: The server for the SMB share.
  448. schema:
  449. type: string
  450. required: true
  451. - variable: share
  452. label: Share
  453. description: The share name for the SMB share.
  454. schema:
  455. type: string
  456. required: true
  457. - variable: domain
  458. label: Domain (Optional)
  459. description: The domain for the SMB share.
  460. schema:
  461. type: string
  462. - variable: username
  463. label: Username
  464. description: The username for the SMB share.
  465. schema:
  466. type: string
  467. required: true
  468. - variable: password
  469. label: Password
  470. description: The password for the SMB share.
  471. schema:
  472. type: string
  473. required: true
  474. private: true
  475. - variable: size
  476. label: Size (in Gi)
  477. description: The size of the volume quota.
  478. schema:
  479. type: int
  480. required: true
  481. min: 1
  482. default: 1
  483. - variable: resources
  484. group: Resources Configuration
  485. label: ""
  486. schema:
  487. type: dict
  488. attrs:
  489. - variable: limits
  490. label: Limits
  491. schema:
  492. type: dict
  493. attrs:
  494. - variable: cpu
  495. label: CPU
  496. description: CPU limit for Frigate.
  497. schema:
  498. type: string
  499. max_length: 6
  500. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  501. valid_chars_error: |
  502. Valid CPU limit formats are</br>
  503. - Plain Integer - eg. 1</br>
  504. - Float - eg. 0.5</br>
  505. - Milicpu - eg. 500m
  506. default: "4000m"
  507. required: true
  508. - variable: memory
  509. label: Memory
  510. description: Memory limit for Frigate.
  511. schema:
  512. type: string
  513. max_length: 12
  514. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  515. valid_chars_error: |
  516. Valid Memory limit formats are</br>
  517. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  518. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  519. - Plain Integer in bytes - eg. 1024</br>
  520. - Exponent - eg. 134e6
  521. default: "8Gi"
  522. required: true
  523. - variable: frigateGPU
  524. group: Resources Configuration
  525. label: GPU Configuration
  526. schema:
  527. type: dict
  528. $ref:
  529. - "definitions/gpuConfiguration"
  530. attrs: []