questions.yaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  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: datasetName
  178. label: Dataset Name
  179. schema:
  180. type: string
  181. show_if: [["type", "=", "ixVolume"]]
  182. required: true
  183. hidden: true
  184. immutable: true
  185. default: "config"
  186. $ref:
  187. - "normalize/ixVolume"
  188. - variable: hostPath
  189. label: Host Path
  190. schema:
  191. type: hostpath
  192. show_if: [["type", "=", "hostPath"]]
  193. immutable: true
  194. required: true
  195. - variable: media
  196. label: Frigate Media Storage
  197. description: The path to store Frigate Media.
  198. schema:
  199. type: dict
  200. attrs:
  201. - variable: type
  202. label: Type
  203. description: |
  204. ixVolume: Is dataset created automatically by the system.</br>
  205. Host Path: Is a path that already exists on the system.
  206. schema:
  207. type: string
  208. required: true
  209. immutable: true
  210. default: "ixVolume"
  211. enum:
  212. - value: "hostPath"
  213. description: Host Path (Path that already exists on the system)
  214. - value: "ixVolume"
  215. description: ixVolume (Dataset created automatically by the system)
  216. - variable: datasetName
  217. label: Dataset Name
  218. schema:
  219. type: string
  220. show_if: [["type", "=", "ixVolume"]]
  221. required: true
  222. hidden: true
  223. immutable: true
  224. default: "config"
  225. $ref:
  226. - "normalize/ixVolume"
  227. - variable: hostPath
  228. label: Host Path
  229. schema:
  230. type: hostpath
  231. show_if: [["type", "=", "hostPath"]]
  232. immutable: true
  233. required: true
  234. - variable: cache
  235. label: Frigate Cache Storage
  236. schema:
  237. type: dict
  238. attrs:
  239. - variable: sizeGiB
  240. label: Size (GiB)
  241. description: The size of RAM is allowed to Frigate to use as cache
  242. schema:
  243. type: int
  244. max: 4
  245. default: 1
  246. required: true
  247. - variable: shm
  248. label: Frigate /dev/shm Storage
  249. schema:
  250. type: dict
  251. attrs:
  252. - variable: sizeMiB
  253. label: Size (MiB)
  254. description: |
  255. The size of RAM is allowed to Frigate to use as /dev/shm</br>
  256. https://docs.frigate.video/frigate/installation/#calculating-required-shm-size
  257. schema:
  258. type: int
  259. max: 2048
  260. default: 64
  261. required: true
  262. - variable: additionalStorages
  263. label: Additional Storage
  264. description: Additional storage for Frigate.
  265. schema:
  266. type: list
  267. default: []
  268. items:
  269. - variable: storageEntry
  270. label: Storage Entry
  271. schema:
  272. type: dict
  273. attrs:
  274. - variable: type
  275. label: Type
  276. description: |
  277. ixVolume: Is dataset created automatically by the system.</br>
  278. Host Path: Is a path that already exists on the system.</br>
  279. SMB Share: Is a SMB share that is mounted to a persistent volume claim.
  280. schema:
  281. type: string
  282. required: true
  283. default: "ixVolume"
  284. immutable: true
  285. enum:
  286. - value: "hostPath"
  287. description: Host Path (Path that already exists on the system)
  288. - value: "ixVolume"
  289. description: ixVolume (Dataset created automatically by the system)
  290. - value: "smb-pv-pvc"
  291. description: SMB Share (Mounts a persistent volume claim to a SMB share)
  292. - variable: mountPath
  293. label: Mount Path
  294. description: The path inside the container to mount the storage.
  295. schema:
  296. type: path
  297. required: true
  298. - variable: hostPath
  299. label: Host Path
  300. description: The host path to use for storage.
  301. schema:
  302. type: hostpath
  303. show_if: [["type", "=", "hostPath"]]
  304. required: true
  305. - variable: datasetName
  306. label: Dataset Name
  307. description: The name of the dataset to use for storage.
  308. schema:
  309. type: string
  310. show_if: [["type", "=", "ixVolume"]]
  311. required: true
  312. immutable: true
  313. default: "storage_entry"
  314. $ref:
  315. - "normalize/ixVolume"
  316. - variable: server
  317. label: Server
  318. description: The server for the SMB share.
  319. schema:
  320. type: string
  321. show_if: [["type", "=", "smb-pv-pvc"]]
  322. required: true
  323. - variable: share
  324. label: Share
  325. description: The share name for the SMB share.
  326. schema:
  327. type: string
  328. show_if: [["type", "=", "smb-pv-pvc"]]
  329. required: true
  330. - variable: domain
  331. label: Domain (Optional)
  332. description: The domain for the SMB share.
  333. schema:
  334. type: string
  335. show_if: [["type", "=", "smb-pv-pvc"]]
  336. - variable: username
  337. label: Username
  338. description: The username for the SMB share.
  339. schema:
  340. type: string
  341. show_if: [["type", "=", "smb-pv-pvc"]]
  342. required: true
  343. - variable: password
  344. label: Password
  345. description: The password for the SMB share.
  346. schema:
  347. type: string
  348. show_if: [["type", "=", "smb-pv-pvc"]]
  349. required: true
  350. private: true
  351. - variable: size
  352. label: Size (in Gi)
  353. description: The size of the volume quota.
  354. schema:
  355. type: int
  356. show_if: [["type", "=", "smb-pv-pvc"]]
  357. required: true
  358. min: 1
  359. default: 1
  360. - variable: resources
  361. group: Resources Configuration
  362. label: ""
  363. schema:
  364. type: dict
  365. attrs:
  366. - variable: limits
  367. label: Limits
  368. schema:
  369. type: dict
  370. attrs:
  371. - variable: cpu
  372. label: CPU
  373. description: CPU limit for Frigate.
  374. schema:
  375. type: string
  376. max_length: 6
  377. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  378. valid_chars_error: |
  379. Valid CPU limit formats are</br>
  380. - Plain Integer - eg. 1</br>
  381. - Float - eg. 0.5</br>
  382. - Milicpu - eg. 500m
  383. default: "4000m"
  384. required: true
  385. - variable: memory
  386. label: Memory
  387. description: Memory limit for Frigate.
  388. schema:
  389. type: string
  390. max_length: 12
  391. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  392. valid_chars_error: |
  393. Valid Memory limit formats are</br>
  394. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  395. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  396. - Plain Integer in bytes - eg. 1024</br>
  397. - Exponent - eg. 134e6
  398. default: "8Gi"
  399. required: true
  400. - variable: frigateGPU
  401. group: Resources Configuration
  402. label: GPU Configuration
  403. schema:
  404. type: dict
  405. $ref:
  406. - "definitions/gpuConfiguration"
  407. attrs: []