        - 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: 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: 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: 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
