questions.yaml 15 KB

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