# Include{groups}
portals:
  open:
# Include{portalLink}
questions:
# Include{global}
# Include{workload}
# Include{workloadDeployment}

# Include{replicas1}
# Include{podSpec}
# Include{containerMain}
# Include{containerBasic}
# Include{containerAdvanced}

  - 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 <datetime>
                      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/<camera_name>/<object_name>/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
# Include{containerConfig}
# Include{serviceRoot}
        - variable: main
          label: Main Service
          description: The Primary service on which the healthcheck runs, often the webUI
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - 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:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - 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
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: media
          label: App Media
          description: Stores the Application Media
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: db
          label: App DB
          description: Stores the Application DB
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
# Include{persistenceList}
# Include{ingressRoot}
        - variable: main
          label: Main Ingress
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressList}

# Include{podSecurityContextRoot}
        - 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
# Include{securityContextContainer}
# Include{securityContextAdvanced}
# Include{securityContextPod}
        - variable: fsGroup
          label: fsGroup
          description: The group that should own ALL storage.
          schema:
            type: int
            default: 568

# Include{resources}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{netshoot}
# Include{vpn}
# Include{documentation}
