  - 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: labelsList
                label: "Labels"
                schema:
                  type: list
                  default: []
                  items:
                    - variable: labelItem
                      label: "Label"
                      schema:
                        additional_attrs: true
                        type: dict
                        attrs:
                          - variable: name
                            label: "Name"
                            schema:
                              type: string
                          - variable: value
                            label: "Value"
                            schema:
                              type: string
              - variable: annotationsList
                label: "Annotations"
                schema:
                  type: list
                  default: []
                  items:
                    - variable: annotationItem
                      label: "Label"
                      schema:
                        additional_attrs: true
                        type: dict
                        attrs:
                          - variable: name
                            label: "Name"
                            schema:
                              type: string
                          - variable: value
                            label: "Value"
                            schema:
                              type: string
              - 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: "pathType"
                                        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
