From 5c3137f5a15bc1e509f2cddb9504219ddb94e5c2 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sat, 21 Jan 2023 12:06:01 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/frigate/6.0.0/CHANGELOG.md | 99 + incubator/frigate/6.0.0/Chart.yaml | 32 + incubator/frigate/6.0.0/README.md | 27 + incubator/frigate/6.0.0/app-changelog.md | 4 + incubator/frigate/6.0.0/app-readme.md | 8 + .../frigate/6.0.0/charts/common-11.1.2.tgz | Bin 0 -> 181984 bytes incubator/frigate/6.0.0/ix_values.yaml | 490 +++ incubator/frigate/6.0.0/questions.yaml | 3375 +++++++++++++++++ .../frigate/6.0.0/templates/_configmap.tpl | 502 +++ incubator/frigate/6.0.0/templates/common.yaml | 7 + incubator/frigate/6.0.0/values.yaml | 0 11 files changed, 4544 insertions(+) create mode 100644 incubator/frigate/6.0.0/CHANGELOG.md create mode 100644 incubator/frigate/6.0.0/Chart.yaml create mode 100644 incubator/frigate/6.0.0/README.md create mode 100644 incubator/frigate/6.0.0/app-changelog.md create mode 100644 incubator/frigate/6.0.0/app-readme.md create mode 100644 incubator/frigate/6.0.0/charts/common-11.1.2.tgz create mode 100644 incubator/frigate/6.0.0/ix_values.yaml create mode 100644 incubator/frigate/6.0.0/questions.yaml create mode 100644 incubator/frigate/6.0.0/templates/_configmap.tpl create mode 100644 incubator/frigate/6.0.0/templates/common.yaml create mode 100644 incubator/frigate/6.0.0/values.yaml diff --git a/incubator/frigate/6.0.0/CHANGELOG.md b/incubator/frigate/6.0.0/CHANGELOG.md new file mode 100644 index 00000000000..6a8c0f7e2ba --- /dev/null +++ b/incubator/frigate/6.0.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [frigate-6.0.0](https://github.com/truecharts/charts/compare/frigate-5.0.14...frigate-6.0.0) (2023-01-21) + + + + +## [frigate-5.0.14](https://github.com/truecharts/charts/compare/frigate-5.0.13...frigate-5.0.14) (2022-12-27) + +### Chore + +- update helm general non-major ([#5856](https://github.com/truecharts/charts/issues/5856)) + + + + +## [frigate-5.0.13](https://github.com/truecharts/charts/compare/frigate-5.0.12...frigate-5.0.13) (2022-12-26) + +### Chore + +- update helm general non-major ([#5839](https://github.com/truecharts/charts/issues/5839)) + + + + +## [frigate-5.0.12](https://github.com/truecharts/charts/compare/frigate-5.0.11...frigate-5.0.12) (2022-12-25) + +### Chore + +- update helm general non-major + + + + +## [frigate-5.0.11](https://github.com/truecharts/charts/compare/frigate-5.0.10...frigate-5.0.11) (2022-12-19) + +### Chore + +- update helm general non-major + + + + +## [frigate-5.0.10](https://github.com/truecharts/charts/compare/frigate-5.0.9...frigate-5.0.10) (2022-12-13) + +### Chore + +- update helm general non-major + + + + +## [frigate-5.0.9](https://github.com/truecharts/charts/compare/frigate-5.0.8...frigate-5.0.9) (2022-12-08) + +### Fix + +- quote all floats in values.yaml. because questions.yaml schema fails to validate when applying empty value ([#5204](https://github.com/truecharts/charts/issues/5204)) + + + + +## [frigate-5.0.8](https://github.com/truecharts/charts/compare/frigate-5.0.7...frigate-5.0.8) (2022-12-07) + +### Fix + +- render parent max_frames only when at least one child has value ([#5196](https://github.com/truecharts/charts/issues/5196)) + + + + +## [frigate-5.0.7](https://github.com/truecharts/charts/compare/frigate-5.0.6...frigate-5.0.7) (2022-12-06) + +### Fix + +- fix typos ([#5164](https://github.com/truecharts/charts/issues/5164)) + + + + +## [frigate-5.0.6](https://github.com/truecharts/charts/compare/frigate-5.0.5...frigate-5.0.6) (2022-11-30) + + + + +## [frigate-5.0.6](https://github.com/truecharts/charts/compare/frigate-5.0.5...frigate-5.0.6) (2022-11-30) + + + + +## [frigate-5.0.6](https://github.com/truecharts/charts/compare/frigate-5.0.5...frigate-5.0.6) (2022-11-30) + + + + +## [frigate-5.0.6](https://github.com/truecharts/charts/compare/frigate-5.0.5...frigate-5.0.6) (2022-11-30) diff --git a/incubator/frigate/6.0.0/Chart.yaml b/incubator/frigate/6.0.0/Chart.yaml new file mode 100644 index 00000000000..4330ccfbca4 --- /dev/null +++ b/incubator/frigate/6.0.0/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: "0.11.1" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 11.1.2 +deprecated: false +description: NVR With Realtime Object Detection for IP Cameras +home: https://truecharts.org/charts/incubator/frigate +icon: https://truecharts.org/img/hotlink-ok/chart-icons/frigate.png +keywords: + - encode + - nvr + - media + - frigate +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: frigate +sources: + - https://github.com/truecharts/charts/tree/master/charts/incubator/frigate + - https://github.com/blakeblackshear/frigate + - https://hub.docker.com/r/blakeblackshear/frigate +type: application +version: 6.0.0 +annotations: + truecharts.org/catagories: | + - nvr + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/frigate/6.0.0/README.md b/incubator/frigate/6.0.0/README.md new file mode 100644 index 00000000000..63d5d2c8fdc --- /dev/null +++ b/incubator/frigate/6.0.0/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/incubator/frigate/6.0.0/app-changelog.md b/incubator/frigate/6.0.0/app-changelog.md new file mode 100644 index 00000000000..a684b0636d8 --- /dev/null +++ b/incubator/frigate/6.0.0/app-changelog.md @@ -0,0 +1,4 @@ + + +## [frigate-6.0.0](https://github.com/truecharts/charts/compare/frigate-5.0.14...frigate-6.0.0) (2023-01-21) + diff --git a/incubator/frigate/6.0.0/app-readme.md b/incubator/frigate/6.0.0/app-readme.md new file mode 100644 index 00000000000..8726f049d47 --- /dev/null +++ b/incubator/frigate/6.0.0/app-readme.md @@ -0,0 +1,8 @@ +NVR With Realtime Object Detection for IP Cameras + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/frigate](https://truecharts.org/charts/incubator/frigate) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/incubator/frigate/6.0.0/charts/common-11.1.2.tgz b/incubator/frigate/6.0.0/charts/common-11.1.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..da62080e8a59534c96d276940cdf4ee53131de00 GIT binary patch literal 181984 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

Ns)!nlnD&U5c%RrMW=OBxp`(26s3D#)&+ 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 z OFF + mqtt_off_delay: null + + record: + # -- Enable it to add the configuration in the config file + render_config: false + # -- Optional: Enable recording + # - WARNING: If recording is disabled in the config, turning it on via + # - the UI or MQTT later will have no effect. + # - WARNING: Frigate does not currently support limiting recordings based + # - on available disk space automatically. If using recordings, + # - you must specify retention settings for a number of days that + # - will fit within the available disk space of your drive or Frigate will crash. + enabled: false + # -- Optional: Number of minutes to wait between cleanup runs + # - This can be used to reduce the frequency of deleting recording segments from disk if you want to minimize i/o + expire_interval: + # -- Optional: Retention settings for recording + retain: + # -- Render retain config + render_config: false + # -- Optional: Number of days to retain recordings regardless of events + # - NOTE: This should be set to 0 and retention should be defined in events section below + # - if you only want to retain recordings of events. + days: + # -- Optional: Mode for retention. Available options are: all, motion, and active_objects + # - all - save all recording segments regardless of activity + # - motion - save all recordings segments with any detected motion + # - active_objects - save all recording segments with active/moving objects + # - NOTE: this mode only applies when the days setting above is greater than 0 + mode: "" + # -- Optional: Event recording settings + events: + # -- Enable it to add the configuration in the config file + render_config: false + # -- Optional: Number of seconds before the event to include + pre_capture: null + # -- Optional: Number of seconds after the event to include + post_capture: null + # -- Optional: Objects to save recordings for. Defaults to all + objects: + [] + # - person + # -- Optional: Restrict recordings to objects that entered any of the listed zones + required_zones: [] + # -- Optional: Retention settings for recordings of events + retain: + # -- Render retain config + render_config: false + # -- Required: Default retention days + default: 10 + # -- Optional: Mode for retention. + # - all - save all recording segments for events regardless of activity + # - motion - save all recordings segments for events with any detected motion + # - active_objects - save all recording segments for event with active/moving objects + mode: "" + # -- Optional: Per object retention days + objects: + [] + # - object: person + # days: 15 + + snapshots: + # -- Enable it to add the configuration in the config file + render_config: false + # -- Optional: Enable writing jpg snapshot to /media/frigate/clips + # - This value can be set via MQTT and will be updated in startup based on retained value + enabled: false + # -- Optional: Save a clean PNG copy of the snapshot image + clean_copy: true + # -- Optional: print a timestamp on the snapshots + timestamp: false + # -- Optional: draw bounding box on the snapshots + bounding_box: false + # -- Optional: crop the snapshot + crop: false + # -- Optional: height to resize the snapshot to (default: original size) + height: + # -- Optional: Restrict snapshots to objects that entered any of the listed zones (default: no required zones) + required_zones: [] + # -- Optional: Camera override for retention settings (default: global values) + retain: + # -- Render retain config + render_config: false + # -- Required: Default retention days (default: shown below) + default: 10 + # -- Optional: Per object retention days + objects: + [] + # - object: person + # days: 15 + + rtmp: + # -- Enable it to add the configuration in the config file + render_config: false + # - Optional: Enable the RTMP stream + enabled: true + + live: + # -- Enable it to add the configuration in the config file + render_config: false + # -- Optional: Set the height of the live stream. (default: 720) + # - This must be less than or equal to the height of the detect stream. Lower resolutions + # - reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio. + height: null + # -- Optional: Set the encode quality of the live stream (default: shown below) + # - 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources. + quality: null + + timestamp_style: + # -- Enable it to add the configuration in the config file + render_config: false + # -- Optional: Position of the timestamp + # - "tl" (top left), "tr" (top right), "bl" (bottom left), "br" (bottom right) + position: "" + # -- Optional: Format specifier conform to the Python package "datetime" + # - Additional Examples: + # - german: "%d.%m.%Y %H:%M:%S" + format: "" + # -- Optional: Color of font + color: + # -- Enable it to add the configuration in the config file + render_config: false + # -- All Required when color is specified (default: shown below) + red: 255 + green: 255 + blue: 255 + # -- Optional: Line thickness of font (default: shown below) + thickness: null + # -- Optional: Effect of lettering (default: shown below) + # - None (No effect), + # - "solid" (solid background in inverse color of font) + # - "shadow" (shadow for font) + effect: "" + + cameras: + # -- Required: name of the camera + - camera_name: back + # -- Required: ffmpeg settings for the camera + ffmpeg: + # -- Required: A list of input streams for the camera. See documentation for more information. + inputs: + # -- Required: the path to the stream + - path: rtsp://viewer:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2 + # -- Required: list of roles for this stream. valid values are: detect,record,rtmp + # - NOTICE: In addition to assigning the record, and rtmp roles, + # - they must also be enabled in the camera config. + roles: + - detect + - rtmp + # -- Optional: stream specific global args + global_args: "" + # - Optional: stream specific hwaccel args + hwaccel_args: "" + # - Optional: stream specific input args + input_args: "" + # - Optional: stream specific output args + output_args: + detect: "" + record: "" + rtmp: "" + # -- Optional: camera specific global args + global_args: "" + # -- Optional: camera specific hwaccel args + hwaccel_args: "" + # -- Optional: camera specific input args + input_args: "" + # -- Optional: camera specific output args + output_args: + detect: "" + record: "" + rtmp: "" + # -- Optional: timeout for highest scoring image before allowing it + # - to be replaced by a newer image. + best_image_timeout: 60 + # -- Optional: zones for this camera + zones: + # -- Required: name of the zone + # - NOTE: This must be different than any camera names, but can match with another zone on another camera + - name: front_steps + # -- Required: List of x,y coordinates to define the polygon of the zone. + # - NOTE: Presence in a zone is evaluated only based on the bottom center of the objects bounding box. + coordinates: 545,1077,747,939,788,805 + # -- Optional: List of objects that can trigger this zone (default: all tracked objects) + objects: + [] + # - person + # -- Optional: Zone level object filters. + # -NOTE: The global and camera filters are applied upstream. + filters: + [] + # - object: person + # min_area: null + # max_area: null + # threshold: "" + # -- Optional: Configuration for the jpg snapshots published via MQTT + mqtt: + # -- Enable it to add the configuration in the config file + render_config: false + # -- Optional: Enable publishing snapshot via mqtt for camera + # - NOTE: Only applies to publishing image data to MQTT via 'frigate///snapshot'. + # - All other messages will still be published. + enabled: true + # -- Optional: print a timestamp on the snapshots + timestamp: true + # -- Optional: draw bounding box on the snapshots + bounding_box: true + # -- Optional: crop the snapshot + crop: true + # -- Optional: height to resize the snapshot to + height: null + # -- Optional: jpeg encode quality + quality: null + # -- Optional: Restrict mqtt messages to objects that entered any of the listed zones + required_zones: [] + # -- Optional: Configuration for how camera is handled in the GUI. + ui: + # -- Enable it to add the configuration in the config file + render_config: false + # -- Optional: Adjust sort order of cameras in the UI. Larger numbers come later + # - By default the cameras are sorted alphabetically. + order: null + # -- Optional: Whether or not to show the camera in the Frigate UI + dashboard: true + +ingress: + rtmp: + autoLink: true + +service: + main: + ports: + main: + port: 10500 + protocol: HTTP + targetPort: 5000 + rtmp: + enabled: true + ports: + rtmp: + enabled: true + port: 1935 + targetPort: 1935 + +persistence: + media: + enabled: true + mountPath: /media + size: 256Gi + db: + enabled: true + mountPath: /db + size: 256Gi + type: emptyDir + cache: + enabled: true + mountPath: /tmp/cache + type: emptyDir + shm: + enabled: true + mountPath: /dev/shm + type: emptyDir + medium: Memory + frigate-config: + enabled: true + mountPath: /config + type: configMap + objectName: '{{ template "tc.common.names.fullname" . }}-frigate-config' + items: + - key: config.yml + path: config.yml + +portal: + enabled: true diff --git a/incubator/frigate/6.0.0/questions.yaml b/incubator/frigate/6.0.0/questions.yaml new file mode 100644 index 00000000000..f447838eb8b --- /dev/null +++ b/incubator/frigate/6.0.0/questions.yaml @@ -0,0 +1,3375 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: VPN + description: VPN + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: "General Settings" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: "General Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: customextraargs + group: "General Settings" + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: frigate + group: App Configuration + label: Frigate Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: mqtt + label: MQTT + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: Host + schema: + type: string + required: true + default: "" + - variable: port + label: Port + schema: + type: int + default: 1883 + - variable: topic_prefix + label: Topic Prefix + description: Must be unique if you are running multiple instances + schema: + type: string + default: "" + - variable: client_id + label: Client ID + description: Must be unique if you are running multiple instances + schema: + type: string + default: "" + - variable: stats_interval + label: Stats Interval + description: Interval in seconds for publishing stats + schema: + type: int + "null": true + default: 60 + - variable: user + label: Username + schema: + type: string + default: "" + - variable: password + label: Password + schema: + type: string + private: true + default: "" + - variable: detectors + label: Detectors + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: config + label: Detectors Configuration + schema: + type: list + default: [] + items: + - variable: detector_entry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: Name of the detector + schema: + type: string + required: true + default: "" + - variable: type + label: Type + description: Name of the detector + schema: + type: string + required: true + default: cpu + enum: + - value: cpu + description: CPU + - value: edgetpu + description: Edge TPU + - variable: device + label: Device + description: Device name as defined here - https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api + schema: + type: string + default: "" + - variable: num_threads + label: Number of Threads + description: This value is only used for CPU types + schema: + type: int + "null": true + show_if: [["type", "=", "cpu"]] + - variable: model + label: Model + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: width + label: Width + schema: + type: int + required: true + default: 320 + - variable: height + label: Height + schema: + type: int + required: true + default: 320 + - variable: path + label: Path + schema: + type: string + default: "" + - variable: labelmap_path + label: Label Map Path + schema: + type: string + default: "" + - variable: labelmap + label: Label Map Configuration + schema: + type: list + default: [] + items: + - variable: labelmap_entry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: model + label: Model + schema: + type: string + required: true + default: "" + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: logger + label: Logger + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: default + label: Default Log Verbosity + schema: + type: string + required: true + default: info + enum: + - value: info + description: Info + - value: debug + description: Debug + - value: warning + description: Warning + - value: error + description: Error + - value: critical + description: Critical + - variable: logs + label: Component Specific Logs + schema: + type: list + default: [] + items: + - variable: component_entry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: component + label: Component + description: Find out the available components here https://docs.frigate.video/configuration/advanced/#logger + schema: + type: string + required: true + default: "" + - variable: verbosity + label: Default Log Verbosity + schema: + type: string + required: true + default: info + enum: + - value: info + description: Info + - value: debug + description: Debug + - value: warning + description: Warning + - value: error + description: Error + - value: critical + description: Critical + - variable: birdseye + label: Birds Eye + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enabled + description: Enables the birdseye + schema: + type: boolean + default: true + - variable: width + label: Width + description: Width of the output resolution + schema: + type: int + "null": true + - variable: height + label: Height + description: Height of the output resolution + schema: + type: int + "null": true + - variable: quality + label: Quality + description: Encoding quality of the mpeg1 feed. Where 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources. + schema: + type: int + min: 1 + max: 31 + default: 8 + - variable: mode + label: Mode + description: | + Mode of the view. + Objects - Cameras are included if they have had a tracked object within the last 30 seconds. + Motion - Cameras are included if motion was detected in the last 30 seconds. + Continuous - All cameras are included always. + schema: + type: string + default: "" + enum: + - value: "" + description: Inherit + - value: objects + description: Objects + - value: motion + description: Motion + - value: continuous + description: Continuous + - variable: ffmpeg + label: ffmpeg + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: global_args + label: Global Args + schema: + type: string + default: "" + - variable: hwaccel_args + label: HW Acceleration Args + description: See hardware acceleration docs for your specific device + schema: + type: string + default: "" + - variable: input_args + label: Input Args + schema: + type: string + default: "" + - variable: output_args + label: Output Args + schema: + additional_attrs: true + type: dict + attrs: + - variable: detect + label: Detect + schema: + type: string + default: "" + - variable: record + label: Record + schema: + type: string + default: "" + - variable: rtmp + label: RTMP + schema: + type: string + default: "" + - variable: detect + label: Detect + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enabled + description: Enables detection for the cameras + schema: + type: boolean + default: true + - variable: width + label: Width + description: Width of the frame for the input with the detect role + schema: + type: int + "null": true + - variable: height + label: Height + description: Height of the frame for the input with the detect role + schema: + type: int + "null": true + - variable: fps + label: FPS + description: Desired fps for your camera for the input with the detect role. Recommended value of 5. Ideally, try and reduce your FPS on the camera. + schema: + type: int + "null": true + - variable: max_disappeared + label: Max Disappeared + description: Number of frames without a detection before frigate considers an object to be gone. + schema: + type: int + "null": true + - variable: stationary + label: Stationary + schema: + additional_attrs: true + type: dict + attrs: + - variable: interval + label: Interval + description: | + Frequency for confirming stationary objects + When set to 0, object detection will not confirm stationary objects until movement is detected. + If set to 10, object detection will run to confirm the object still exists on every 10th frame. + schema: + type: int + "null": true + - variable: threshold + label: Threshold + description: Number of frames without a position change for an object to be considered stationary + schema: + type: int + "null": true + - variable: set_max_frames + label: Set Max Frames + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: max_frames + label: Max Frames + schema: + additional_attrs: true + type: dict + attrs: + - variable: default + label: Default + description: Default for all object types + schema: + type: int + "null": true + - variable: objects + label: Objects + schema: + type: list + default: [] + items: + - variable: object_entry + label: Object Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: object + label: Object + schema: + type: string + required: true + default: "" + - variable: frames + label: Frames + schema: + type: int + required: true + - variable: objects + label: Objects + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: track + label: Track + description: Objects to track from labelmap.txt + schema: + type: list + default: [] + items: + - variable: track_entry + label: Track Object Entry + schema: + type: string + required: true + default: "" + - variable: mask + label: Mask + description: | + Mask to prevent all object types from being detected in certain areas + Checks based on the bottom center of the bounding box of the object. + This mask is COMBINED with the object type specific mask below + schema: + type: string + default: "" + - variable: filters + label: Filters + description: Filters to reduce false positives for specific object types + schema: + type: list + default: [] + items: + - variable: filter_entry + label: Filter Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: object + label: Object + description: For example person + schema: + type: string + required: true + default: "" + - variable: min_area + label: Min Area + description: Minimum width*height of the bounding box for the detected object + schema: + type: int + "null": true + - variable: max_area + label: Max Area + description: Maximum width*height of the bounding box for the detected object + schema: + type: int + "null": true + - variable: min_ratio + label: Min Ratio + description: Minimum width/height of the bounding box for the detected object + schema: + type: string + default: "" + valid_chars: '^[0-9]+(\.[0-9]*)?$' + - variable: max_ratio + label: Max Ratio + description: Maximum width/height of the bounding box for the detected object + schema: + type: string + default: "" + valid_chars: '^[0-9]+(\.[0-9]*)?$' + - variable: min_score + label: Min Score + description: Minimum score for the object to initiate tracking + schema: + type: string + default: "" + valid_chars: '^[0-9]+(\.[0-9]*)?$' + - variable: threshold + label: Threshold + description: Minimum decimal percentage for tracked object's computed score to be considered a true positive + schema: + type: string + default: "" + valid_chars: '^[0-9]+(\.[0-9]*)?$' + - variable: mask + label: Mask + description: | + Mask to prevent this object type from being detected in certain areas + Checks based on the bottom center of the bounding box of the object + schema: + type: string + default: "" + - variable: motion + label: Motion + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: threshold + label: Threshold + description: | + The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion. + Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive. + schema: + type: int + min: 1 + max: 255 + default: 25 + - variable: contour_area + label: Contour Area + description: | + Minimum size in pixels in the resized motion image that counts as motion + Increasing this value will prevent smaller areas of motion from being detected. Decreasing will + make motion detection more sensitive to smaller moving objects. + As a rule of thumb: + 15 - high sensitivity + 30 - medium sensitivity + 50 - low sensitivity + schema: + type: int + "null": true + - variable: delta_alpha + label: Delta Alpha + description: | + Alpha value passed to cv2.accumulateWeighted when averaging the motion delta across multiple frames + Higher values mean the current frame impacts the delta a lot, and a single raindrop may register as motion. + Too low and a fast moving person wont be detected as motion. + schema: + type: string + default: "" + valid_chars: '^[0-9]+(\.[0-9]*)?$' + - variable: frame_alpha + label: Frame Alpha + description: | + Alpha value passed to cv2.accumulateWeighted when averaging frames to determine the background + Higher values mean the current frame impacts the average a lot, and a new object will be averaged into the background faster. + Low values will cause things like moving shadows to be detected as motion for longer. + https://www.geeksforgeeks.org/background-subtraction-in-an-image-using-concept-of-running-average + schema: + type: string + default: "" + valid_chars: '^[0-9]+(\.[0-9]*)?$' + - variable: frame_height + label: Frame Height + description: | + Height of the resized motion frame + This operates as an efficient blur alternative. Higher values will result in more granular motion detection at the expense + of higher CPU usage. Lower values result in less CPU, but small changes may not register as motion. + schema: + type: int + "null": true + - variable: mask + label: Mask + description: See docs for more detailed info on creating masks + schema: + type: string + default: "" + - variable: improve_contrast + label: Improve Contrast + description: Improve contrast. Enables dynamic contrast improvement. This should help improve night detections at the cost of making motion detection more sensitive for daytime. + schema: + type: boolean + default: false + - variable: mqtt_off_delay + label: MQTT Off Delay + description: Delay when updating camera motion through MQTT from ON -> OFF + schema: + type: int + "null": true + - variable: record + label: Record + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enabled + description: | + Enable recording + WARNING: If recording is disabled in the config, turning it on via the UI or MQTT later will have no effect. + WARNING: Frigate does not currently support limiting recordings based on available disk space automatically. + If using recordings,you must specify retention settings for a number of days that will fit within the available disk space of your drive or Frigate will crash. + schema: + type: boolean + default: true + - variable: expire_interval + label: Expire Interval + description: Number of minutes to wait between cleanup runs + schema: + type: int + "null": true + - variable: retain + label: Record > Retain + description: Retention settings for recording + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Retain Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: days + label: Days + description: | + Number of days to retain recordings regardless of events + NOTE: This should be set to 0 and retention should be defined in events section below if you only want to retain recordings of events. + schema: + type: int + "null": true + - variable: mode + label: Mode + description: | + Mode for retention. + All - save all recording segments regardless of activity + Motion - save all recordings segments with any detected motion + Active Objects - save all recording segments with active/moving objects + NOTE: This mode only applies when the days setting above is greater than 0 + schema: + type: string + show_if: [["days", "!=", 0]] + default: "" + enum: + - value: "" + description: Inherit + - value: all + description: All + - value: motion + description: Motion + - value: active_objects + description: Active Objects + - variable: events + label: Record > Events + description: Event recording settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: pre_capture + label: Pre Capture + description: Number of seconds before the event to include + schema: + type: int + "null": true + - variable: post_capture + label: Post Capture + description: Number of seconds after the event to include + schema: + type: int + "null": true + - variable: objects + label: Objects + description: Objects to save recordings for. Defaults to all objects. + schema: + type: list + default: [] + items: + - variable: object_entry + label: "" + schema: + type: string + required: true + default: "" + - variable: required_zones + label: Required Zones + description: Restrict recordings to objects that entered any of the listed zones + schema: + type: list + default: [] + items: + - variable: zone_entry + label: "" + schema: + type: string + required: true + default: "" + - variable: retain + label: Record > Events > Retain + description: Retention settings for recordings of events + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Retain Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: default + label: Default + description: Default retention days + schema: + type: int + required: true + default: 10 + - variable: mode + label: Mode + description: | + Mode for retention. + All - save all recording segments for events regardless of activity + Motion - save all recordings segments for events with any detected motion + Active Objects - save all recording segments for event with active/moving objects + schema: + type: string + default: "" + enum: + - value: "" + description: Inherit + - value: all + description: All + - value: motion + description: Motion + - value: active_objects + description: Active Objects + - variable: objects + label: Objects + description: Per object retention days + schema: + type: list + default: [] + items: + - variable: objects_entry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: object + label: Object + description: For example Person + schema: + type: string + required: true + default: "" + - variable: days + label: Retention Days + description: Retention days for the object + schema: + type: int + required: true + default: 15 + - variable: snapshots + label: Snapshots + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enabled + description: | + Optional: Enable writing jpg snapshot to /media/frigate/clips + This value can be set via MQTT and will be updated in startup based on retained value + schema: + type: boolean + default: true + - variable: clean_copy + label: Clean Copy + description: Save a clean PNG copy of the snapshot image + schema: + type: boolean + default: true + - variable: timestamp + label: Timestamp + description: Print a timestamp on the snapshots + schema: + type: boolean + default: false + - variable: bounding_box + label: Bounding Box + description: Draw bounding box on the snapshots + schema: + type: boolean + default: false + - variable: crop + label: Crop + description: Crop the snapshot + schema: + type: boolean + default: false + - variable: height + label: Height + description: Height to resize the snapshot to + schema: + type: int + "null": true + - variable: required_zones + label: Required Zones + description: Restrict recordings to objects that entered any of the listed zones + schema: + type: list + default: [] + items: + - variable: zone_entry + label: Zone Entry + schema: + type: string + required: true + default: "" + - variable: retain + label: Snapshots > Retain + description: Retention settings for snapshots of events + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Retain Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: default + label: Default + description: Default retention days + schema: + type: int + required: true + default: 10 + - variable: objects + label: Objects + description: Per object retention days + schema: + type: list + default: [] + items: + - variable: objects_entry + label: Objects Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: object + label: Object + description: For example Person + schema: + type: string + required: true + default: "" + - variable: days + label: Retention Days + description: Retention days for the object + schema: + type: int + required: true + default: 15 + - variable: rtmp + label: RTMP + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enabled + description: Enable the RTMP stream + schema: + type: boolean + default: true + - variable: live + label: Live + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: height + label: Height + description: | + Set the height of the live stream. + This must be less than or equal to the height of the detect stream. Lower resolutions + reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio. + schema: + type: int + "null": true + - variable: quality + label: Quality + description: | + Set the encode quality of the live stream + 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources. + schema: + type: int + min: 1 + max: 31 + default: 8 + - variable: timestamp_style + label: Timestamp Style + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: position + label: Position + description: Position of the timestamp + schema: + type: string + default: "" + enum: + - value: "" + description: Inherit + - value: tl + description: Top Left + - value: tr + description: Top Right + - value: bl + description: Bottom Left + - value: br + description: Bottom Right + - variable: format + label: Format + description: Format specifier conform to the Python package + schema: + type: string + default: "" + - variable: color + label: Timestamp Style > Color + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: red + label: Red + schema: + type: int + default: 255 + required: true + - variable: green + label: Green + schema: + type: int + required: true + default: 255 + - variable: blue + label: Blue + schema: + type: int + required: true + default: 255 + - variable: thickness + label: Thickness + description: Line thickness of font + schema: + type: int + "null": true + - variable: effect + label: Effect + description: | + Effect of lettering + Inherit - Inherit from default configuration + None - No effect + Solid - Solid background in inverse color of font + Shadow - Shadow for font + schema: + type: string + default: "" + enum: + - value: "" + description: Inherit + - value: None + description: None + - value: solid + description: Solid + - value: shadow + description: Shadow + - variable: cameras + label: Cameras + schema: + type: list + default: [] + items: + - variable: camera_entry + label: Camera Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: camera_name + label: Camera Name + schema: + type: string + required: true + default: "" + - variable: ffmpeg + label: ffmpeg + description: ffmpeg Settings for the camera + schema: + additional_attrs: true + type: dict + attrs: + - variable: inputs + label: Inputs + description: A list of input streams for the camera. See documentation for more information. + schema: + type: list + required: true + default: [] + items: + - variable: input_entry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + description: The path to the stream + schema: + type: string + required: true + default: "" + - variable: roles + label: Roles + schema: + type: list + required: true + default: [] + items: + - variable: role_entry + label: "" + schema: + type: string + required: true + default: "" + enum: + - value: detect + description: Detect + - value: rtmp + description: RTMP + - value: record + description: Record + - variable: global_args + label: Global Args + description: Stream specific global args + schema: + type: string + default: "" + - variable: hwaccel_args + label: HW Acceleration Args + description: Stream specific hwaccel args + schema: + type: string + default: "" + - variable: input_args + label: Input Args + description: Stream specific input args + schema: + type: string + default: "" + - variable: output_args + label: Output Args + schema: + additional_attrs: true + type: dict + attrs: + - variable: detect + label: Detect + schema: + type: string + default: "" + - variable: record + label: Record + schema: + type: string + default: "" + - variable: rtmp + label: RTMP + schema: + type: string + default: "" + - variable: global_args + label: Global Args + description: Camera specific global args + schema: + type: string + default: "" + - variable: hwaccel_args + label: HW Acceleration Args + description: Camera specific hwaccel args + schema: + type: string + default: "" + - variable: input_args + label: Input Args + description: Camera specific input args + schema: + type: string + default: "" + - variable: output_args + label: Output Args + schema: + additional_attrs: true + type: dict + attrs: + - variable: detect + label: Detect + schema: + type: string + default: "" + - variable: record + label: Record + schema: + type: string + default: "" + - variable: rtmp + label: RTMP + schema: + type: string + default: "" + - variable: best_image_timeout + label: Best Image Timeout + description: Timeout for highest scoring image before allowing it to be replaced by a newer image. + schema: + type: int + "null": true + - variable: zones + label: Zones + description: Zones for this camera + schema: + type: list + default: [] + items: + - variable: zone_entry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Zone Name + schema: + type: string + required: true + default: "" + - variable: coordinates + label: Coordinates + description: List of x,y coordinates to define the polygon of the zone. + schema: + type: string + required: true + default: "" + - variable: objects + label: Objects + schema: + type: list + default: [] + items: + - variable: object_entry + label: "" + description: For example person + schema: + type: string + required: true + default: "" + - variable: filters + label: Filters + description: Zone level object filters + schema: + type: list + default: [] + items: + - variable: filter_entry + label: Filter Entry + description: For example person + schema: + additional_attrs: true + type: dict + attrs: + - variable: object + label: Object + description: For example person + schema: + type: string + required: true + default: "" + - variable: min_area + label: Min Area + description: Minimum width*height of the bounding box for the detected object + schema: + type: int + "null": true + - variable: max_area + label: Max Area + description: Maximum width*height of the bounding box for the detected object + schema: + type: int + "null": true + - variable: threshold + label: Threshold + description: Minimum decimal percentage for tracked object's computed score to be considered a true positive + schema: + type: string + default: "" + valid_chars: '^[0-9]+(\.[0-9]*)?$' + - variable: mqtt + label: MQTT + description: MQTT Configuration for jpg snapshots published for this camera + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enabled + description: | + Enable publishing snapshot via mqtt for camera + NOTE: Only applies to publishing image data to MQTT via 'frigate///snapshot'. + All other messages will still be published. + schema: + type: boolean + default: true + - variable: timestamp + label: Timestamp + description: Print a timestamp on the snapshots + schema: + type: boolean + default: true + - variable: bounding_box + label: Bounding Box + description: Draw bounding box on the snapshots + schema: + type: boolean + default: true + - variable: crop + label: Crop + description: Crop the snapshot + schema: + type: boolean + default: true + - variable: height + label: Height + description: Height to resize the snapshot to + schema: + type: int + "null": true + - variable: quality + label: Quality + description: JPEG encode quality + schema: + type: int + "null": true + - variable: required_zones + label: Required Zones + description: Restrict mqtt messages to objects that entered any of the listed zones + schema: + type: list + default: [] + items: + - variable: required_zone + label: Required Zone + schema: + type: string + required: true + default: "" + - variable: ui + label: UI + description: Configuration for how camera is handled in the GUI. + schema: + additional_attrs: true + type: dict + attrs: + - variable: render_config + label: Render Configuration + description: Enable it to add the configuration in the config file + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: order + label: order + description: Adjust sort order of cameras in the UI. Larger numbers come later By default the cameras are sorted alphabetically. + schema: + "null": true + type: int + - variable: dashboard + label: Dashboard + description: Whether or not to show the camera in the Frigate UI + schema: + type: boolean + default: true + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: envList + label: Extra Environment Variables + description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..." + group: "General Settings" + schema: + type: list + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Service Port Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + description: This port exposes the container port on the service + schema: + type: int + default: 10500 + editable: true + required: true + - variable: rtmp + label: RTMP Service + description: The service on which nodes connect to. + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: rtmp + label: RTMP Service Port Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + description: This port exposes the container port on the service + schema: + type: int + default: 1935 + editable: true + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: TCP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: media + label: App Media + description: Stores the Application Media + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: db + label: App DB + description: Stores the Application DB + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: Privileged mode + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: ReadOnly Root Filesystem + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: Allow Privilege Escalation + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: runAsNonRoot + schema: + type: boolean + default: false + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: runAsUser + description: The UserID of the user running the application + schema: + type: int + default: 0 + - variable: runAsGroup + label: runAsGroup + description: The groupID this App of the user running the application + schema: + type: int + default: 0 + - variable: fsGroup + label: fsGroup + description: The group that should own ALL storage. + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: hostPath + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + default: 36107 + - variable: nodePort + description: Leave Empty to Disable + label: nodePort DEPRECATED + schema: + type: int + default: 36107 + - variable: envList + label: Codeserver Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: vpn + label: VPN + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type + schema: + type: string + default: disabled + enum: + - value: disabled + description: disabled + - value: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: Authentication Username (Optional) + description: Authentication Username, Optional + schema: + type: string + default: "" + - variable: password + label: Authentication Password + description: Authentication Credentials + schema: + type: string + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + type: dict + show_if: [["type", "=", "tailscale"]] + attrs: + - variable: authkey + label: Authentication Key + description: Provide an auth key to automatically authenticate the node as your user account. + schema: + type: string + private: true + default: "" + - variable: auth_once + label: Auth Once + description: Only attempt to log in if not already logged in. + schema: + type: boolean + default: true + - variable: accept_dns + label: Accept DNS + description: Accept DNS configuration from the admin console. + schema: + type: boolean + default: false + - variable: userspace + label: Userspace + description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. + schema: + type: boolean + default: false + - variable: routes + label: Routes + description: Expose physical subnet routes to your entire Tailscale network. + schema: + type: string + default: "" + - variable: dest_ip + label: Destination IP + description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. + schema: + type: string + default: "" + - variable: sock5_server + label: Sock5 Server + description: The address on which to listen for SOCKS5 proxying into the tailscale net. + schema: + type: string + default: "" + - variable: outbound_http_proxy_listen + label: Outbound HTTP Proxy Listen + description: The address on which to listen for HTTP proxying into the tailscale net. + schema: + type: string + default: "" + - variable: extra_args + label: Extra Args + description: Extra Args + schema: + type: string + default: "" + - variable: daemon_extra_args + label: Tailscale Daemon Extra Args + description: Tailscale Daemon Extra Args + schema: + type: string + default: "" + - variable: killSwitch + label: Enable Killswitch + schema: + type: boolean + show_if: [["type", "!=", "disabled"]] + default: true + - variable: excludedNetworks_IPv4 + label: Killswitch Excluded IPv4 networks + description: List of Killswitch Excluded IPv4 Addresses + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv4 + label: IPv4 Network + schema: + type: string + required: true + - variable: excludedNetworks_IPv6 + label: Killswitch Excluded IPv6 networks + description: "List of Killswitch Excluded IPv6 Addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: IPv6 Network + schema: + type: string + required: true + - variable: configFile + label: VPN Config File Location + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + - variable: envList + label: VPN Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true diff --git a/incubator/frigate/6.0.0/templates/_configmap.tpl b/incubator/frigate/6.0.0/templates/_configmap.tpl new file mode 100644 index 00000000000..f3648780fdd --- /dev/null +++ b/incubator/frigate/6.0.0/templates/_configmap.tpl @@ -0,0 +1,502 @@ +{{/* Define the configmap */}} +{{- define "frigate.configmap" -}} + +{{- $configName := printf "%s-frigate-config" (include "tc.common.names.fullname" .) }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ $configName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +data: + config.yml: | + database: + path: /db/frigate.db + mqtt: + {{- include "frigate.mqtt" .Values.frigate.mqtt | indent 6 }} + + {{- if and .Values.frigate.detectors.render_config .Values.frigate.detectors.config }} + detectors: + {{- include "frigate.detectors" .Values.frigate.detectors | indent 6 }} + {{- end }} + + {{- if .Values.frigate.model.render_config }} + model: + {{- include "frigate.model" .Values.frigate.model | indent 6 }} + {{- end }} + + {{- if .Values.frigate.logger.render_config }} + logger: + {{- include "frigate.logger" .Values.frigate.logger | indent 6 }} + {{- end }} + + {{- if .Values.frigate.birdseye.render_config }} + birdseye: + {{- include "frigate.birdseye" .Values.frigate.birdseye | indent 6 }} + {{- end }} + + {{- if .Values.frigate.ffmpeg.render_config }} + ffmpeg: + {{- include "frigate.ffmpeg" .Values.frigate.ffmpeg | indent 6 }} + {{- end }} + + {{- if .Values.frigate.detect.render_config }} + detect: + {{- include "frigate.detect" .Values.frigate.detect | indent 6 }} + {{- end -}} + + {{- if .Values.frigate.objects.render_config }} + objects: + {{- include "frigate.objects" .Values.frigate.objects | indent 6 }} + {{- end }} + + {{- if .Values.frigate.motion.render_config }} + motion: + {{- include "frigate.motion" .Values.frigate.motion | indent 6 }} + {{- end }} + + {{- if .Values.frigate.record.render_config }} + record: + {{- include "frigate.record" .Values.frigate.record | indent 6 }} + {{- end }} + + {{- if .Values.frigate.snapshots.render_config }} + snapshots: + {{- include "frigate.snapshots" .Values.frigate.snapshots | indent 6 }} + {{- end }} + + {{- if .Values.frigate.rtmp.render_config }} + rtmp: + {{- include "frigate.rtmp" .Values.frigate.rtmp | indent 6 }} + {{- end }} + + {{- if .Values.frigate.live.render_config }} + live: + {{- include "frigate.live" .Values.frigate.live | indent 6 }} + {{- end }} + + {{- if .Values.frigate.timestamp_style.render_config }} + timestamp_style: + {{- include "frigate.timestamp_style" .Values.frigate.timestamp_style | indent 6 }} + {{- end }} + + {{- $cameras := .Values.frigate.cameras }} + cameras: + {{- range $cam := $cameras }} + {{ $cam.camera_name | required "You need to provide a camera name" }}: + ffmpeg: + inputs: + {{- range $input := $cam.ffmpeg.inputs }} + - path: {{ $input.path | required "You need to provide a path" }} + roles: + {{- range $role := $input.roles }} + - {{ $role }} + {{- else -}} + {{- fail "You need to provide roles" -}} + {{- end -}} + {{- include "frigate.ffmpeg" $input | indent 14 }} + {{- end -}} {{/* End range $cam.ffmpeg.inputs */}} + {{- include "frigate.ffmpeg" $cam.ffmpeg | indent 10 }} + {{- with $cam.best_image_timeout }} + best_image_timeout: {{ . }} + {{- end -}} + {{- with $cam.zones }} + zones: + {{- range $zone := . }} + {{ $zone.name | required "You have to specify a zone name" }}: + coordinates: {{ required "You have to specify coordinates" .coordinates }} + {{- with $zone.objects }} + objects: + {{- range $obj := . }} + - {{ $obj }} + {{- end -}} + {{- end -}} + {{- with $zone.filters }} + filters: + {{- range $filter := . }} + {{ $filter.object | required "You have to specify an object" }}: + {{- with $filter.min_area }} + min_area: {{ . }} + {{- end -}} + {{- with $filter.max_area }} + max_area: {{ . }} + {{- end -}} + {{- with $filter.threshold }} + threshold: {{ . }} + {{- end -}} + {{- end -}} {{/* end range filters */}} + {{- end -}} {{/* end with filter */}} + {{- end -}} {{/* end range zones */}} + {{- end -}} {{/* end with zones */}} + {{- if $cam.mqtt.render_config -}} + {{- with $cam.mqtt }} + mqtt: + enabled: {{ ternary "True" "False" .enabled }} + timestamp: {{ ternary "True" "False" .timestamp }} + bounding_box: {{ ternary "True" "False" .bounding_box }} + crop: {{ ternary "True" "False" .crop }} + {{- with .height }} + height: {{ . }} + {{- end -}} + {{- with .quality }} + quality: {{ . }} + {{- end -}} + {{- with .required_zones }} + required_zones: + {{- range $zone := . }} + - {{ $zone }} + {{- end -}} + {{- end -}} + {{- end -}} {{/* end with mqtt */}} + {{- end -}} {{/* end if mqtt.render_config */}} + {{- if $cam.ui.render_config -}} + {{- with $cam.ui }} + ui: + {{- if not (kindIs "invalid" .order) }} + order: {{ .order }} + {{- end }} + dashboard: {{ ternary "True" "False" .dashboard }} + {{- end -}} {{/* end with ui */}} + {{- end -}} {{/* end if ui.render_config */}} + {{- end -}} {{/* end range cameras */}} +{{- end }} + +{{- define "frigate.ffmpeg" -}} +{{- $ffmpeg := . -}} + +{{- with $ffmpeg.global_args }} +global_args: {{ . }} +{{- end -}} +{{- with $ffmpeg.input_args }} +input_args: {{ . }} +{{- end -}} +{{- with $ffmpeg.hwaccel_args }} +hwaccel_args: {{ . }} +{{- end -}} +{{- if $ffmpeg.output_args -}} +{{- if or $ffmpeg.output_args.detect $ffmpeg.output_args.record $ffmpeg.output_args.rtmp }} +output_args: + {{- with $ffmpeg.output_args.detect }} + detect: {{ . }} + {{- end -}} + {{- with $ffmpeg.output_args.record }} + record: {{ . }} + {{- end -}} + {{- with $ffmpeg.output_args.rtmp }} + rtmp: {{ . }} + {{- end -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.detect" -}} +{{- $detect := . }} +enabled: {{ ternary "True" "False" $detect.enabled }} +{{- with $detect.width }} +width: {{ . }} +{{- end -}} +{{- with $detect.height }} +height: {{ . }} +{{- end -}} +{{- with $detect.fps }} +fps: {{ . }} +{{- end -}} +{{- with $detect.max_disappeared }} +max_disappeared: {{ . }} +{{- end -}} +{{- if or (not (kindIs "invalid" $detect.stationary.interval)) $detect.stationary.threshold $detect.stationary.set_max_frames }} +stationary: + {{- if not (kindIs "invalid" $detect.stationary.interval) }} {{/* invalid kind means its empty (0 is not empty) */}} + interval: {{ $detect.stationary.interval }} + {{- end -}} + {{- with $detect.stationary.threshold }} + threshold: {{ . }} + {{- end -}} + {{- if (hasKey $detect.stationary "max_frames") }} + {{- if or $detect.stationary.max_frames.default $detect.stationary.max_frames.objects }} + max_frames: + {{- with $detect.stationary.max_frames.default }} + default: {{ . }} + {{- end -}} + {{- with $detect.stationary.max_frames.objects }} + objects: + {{- range $obj := . }} + {{ $obj.object | required "You need to provide an object" }}: {{ $obj.frames | required "You need to provide frames" }} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.motion" -}} +{{- $motion := . -}} + +{{- with $motion.threshold }} +threshold: {{ . }} +{{- end -}} +{{- with $motion.contour_area }} +contour_area: {{ . }} +{{- end -}} +{{- with $motion.delta_alpha }} +delta_alpha: {{ . }} +{{- end -}} +{{- with $motion.frame_alpha }} +frame_alpha: {{ . }} +{{- end -}} +{{- with $motion.frame_height }} +frame_height: {{ . }} +{{- end -}} +{{- with $motion.mask }} +mask: {{ . }} +{{- end }} +improve_contrast: {{ ternary "True" "False" $motion.improve_contrast }} +{{- with $motion.mqtt_off_delay }} +mqtt_off_delay: {{ . }} +{{- end -}} +{{- end -}} + +{{- define "frigate.record" -}} +{{- $record := . }} +enabled: {{ ternary "True" "False" $record.enabled }} +{{- with $record.expire_interval }} +expire_interval: {{ . }} +{{- end -}} +{{- if $record.retain.render_config }} +retain: + {{- if not (kindIs "invalid" $record.retain.days) }} + days: {{ $record.retain.days }} + {{- end -}} + {{- with $record.retain.mode }} + mode: {{ . }} + {{- end -}} +{{- end -}} +{{- if $record.events.render_config }} +events: + {{- if not (kindIs "invalid" $record.events.pre_capture) }} + pre_capture: {{ $record.events.pre_capture }} + {{- end -}} + {{- if not (kindIs "invalid" $record.events.post_capture) }} + post_capture: {{ $record.events.post_capture }} + {{- end -}} + {{- with $record.events.objects }} + objects: + {{- range $obj := . }} + - {{ $obj }} + {{- end -}} + {{- end -}} + {{- with $record.events.required_zones }} + required_zones: + {{- range $zone := . }} + - {{ $zone }} + {{- end -}} + {{- end -}} + {{- if $record.events.retain.render_config }} + retain: + default: {{ $record.events.retain.default | required "You need to provide default retain days" }} + {{- with $record.events.retain.mode }} + mode: {{ . }} + {{- end -}} + {{- with $record.events.retain.objects }} + objects: + {{- range $obj := . }} + {{ $obj.object | required "You need to provide an object" }}: {{ $obj.days | required "You need to provide default retain days" }} + {{- end -}} + {{- end -}} + {{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.objects" -}} +{{- $objects := . -}} + +{{- with $objects.track }} +track: + {{- range $track := . }} + - {{ $track }} + {{- end -}} +{{- end -}} +{{- with $objects.mask }} +mask: {{ . }} +{{- end -}} +{{- with $objects.filters }} +filters: + {{- range $filter := . }} + {{ $filter.object | required "You need to provide an object" }}: + {{- with $filter.min_area }} + min_area: {{ . }} + {{- end -}} + {{- with $filter.max_area }} + max_area: {{ . }} + {{- end -}} + {{- with $filter.min_ratio }} + min_ratio: {{ . }} + {{- end -}} + {{- with $filter.max_ratio }} + max_ratio: {{ . }} + {{- end -}} + {{- with $filter.min_score }} + min_score: {{ . }} + {{- end -}} + {{- with $filter.threshold }} + threshold: {{ . }} + {{- end -}} + {{- with $filter.mask }} + mask: {{ . }} + {{- end -}} + {{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.birdseye" -}} +{{- $birdseye := . }} +enabled: {{ ternary "True" "False" $birdseye.enabled }} +{{- with $birdseye.width }} +width: {{ . }} +{{- end -}} +{{- with $birdseye.height }} +height: {{ . }} +{{- end -}} +{{- with $birdseye.quality }} +quality: {{ . }} +{{- end -}} +{{- with $birdseye.mode }} +mode: {{ . }} +{{- end -}} +{{- end -}} + +{{- define "frigate.timestamp_style" -}} +{{- $timestamp_style := . -}} + +{{- with $timestamp_style.position }} +position: {{ . }} +{{- end -}} +{{- with $timestamp_style.format }} +format: {{ . }} +{{- end -}} +{{- if $timestamp_style.color.render_config }} +color: + red: {{ $timestamp_style.color.red }} + green: {{ $timestamp_style.color.green }} + blue: {{ $timestamp_style.color.blue }} +{{- end -}} +{{- with $timestamp_style.thickness }} +thickness: {{ . }} +{{- end -}} +{{- with $timestamp_style.effect }} +effect: {{ $timestamp_style.effect }} +{{- end -}} +{{- end -}} + +{{- define "frigate.live" -}} +{{- $live := . -}} +{{- with $live.height }} +height: {{ . }} +{{- end -}} +{{- with $live.quality }} +quality: {{ . }} +{{- end -}} +{{- end -}} + +{{- define "frigate.rtmp" -}} +{{- $rtmp := . }} +enabled: {{ ternary "True" "False" $rtmp.enabled }} +{{- end -}} + +{{- define "frigate.snapshots" -}} +{{- $snapshots := . }} +enabled: {{ ternary "True" "False" $snapshots.enabled }} +clean_copy: {{ ternary "True" "False" $snapshots.clean_copy }} +timestamp: {{ ternary "True" "False" $snapshots.timestamp }} +bounding_box: {{ ternary "True" "False" $snapshots.bounding_box }} +crop: {{ ternary "True" "False" $snapshots.crop }} +{{- with $snapshots.height }} +height: {{ . }} +{{- end -}} +{{- with $snapshots.required_zones }} +required_zones: + {{- range $zone := . }} + - {{ $zone }} + {{- end -}} +{{- end -}} +{{- if $snapshots.retain.render_config }} +retain: + default: {{ $snapshots.retain.default | required "You need to provide default retain days" }} + {{- with $snapshots.retain.objects }} + objects: + {{- range $obj := . }} + {{ $obj.object | required "You need to provide an object" }}: {{ $obj.days | required "You need to provide default retain days" }} + {{- end -}} + {{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.detectors" -}} +{{- $detectors := . -}} + +{{- range $detector := $detectors.config }} +{{ $detector.name | required "You need to provide a detector name" }}: + type: {{ $detector.type | required "You need to provide a detector type" }} + {{- with $detector.device }} + device: {{ . }} + {{- end -}} + {{- with $detector.num_threads }} + num_threads: {{ . }} + {{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.model" -}} +{{ $model := . }} +width: {{ $model.width | required "You need to provide a model width" }} +height: {{ $model.height | required "You need to provide a model height" }} +{{- with $model.path }} +path: {{ . }} +{{- end -}} +{{- with $model.labelmap_path }} +labelmap_path: {{ . }} +{{- end -}} +{{- with $model.labelmap }} +labelmap: + {{- range $lmap := . }} + {{ $lmap.model | required "You need to provide a labelmap model" }}: {{ $lmap.name | required "You need to provide a labelmap name" }} + {{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.logger" -}} +{{- $logger := . }} +default: {{ $logger.default }} +{{- with $logger.logs }} +logs: + {{- range $log := . }} + {{ $log.component | required "You need to provide a logger cmponent" }}: {{ $log.verbosity | required "You need to provide logger verbosity" }} + {{- end -}} +{{- end -}} +{{- end -}} + +{{- define "frigate.mqtt" -}} +{{- $mqtt := . }} +host: {{ required "You need to provide an MQTT host" $mqtt.host }} +{{- with $mqtt.port }} +port: {{ . }} +{{- end -}} +{{- with $mqtt.topic_prefix }} +topic_prefix: {{ . }} +{{- end -}} +{{- with $mqtt.client_id }} +client_id: {{ . }} +{{- end -}} +{{- if not (kindIs "invalid" $mqtt.stats_interval) }} +stats_interval: {{ $mqtt.stats_interval }} +{{- end -}} +{{- with $mqtt.user }} +user: {{ . }} +{{- end -}} +{{- with $mqtt.password }} +password: {{ . }} +{{- end -}} +{{- end -}} diff --git a/incubator/frigate/6.0.0/templates/common.yaml b/incubator/frigate/6.0.0/templates/common.yaml new file mode 100644 index 00000000000..1f8971b2d42 --- /dev/null +++ b/incubator/frigate/6.0.0/templates/common.yaml @@ -0,0 +1,7 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{- include "frigate.configmap" . -}} + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} diff --git a/incubator/frigate/6.0.0/values.yaml b/incubator/frigate/6.0.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d