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

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

  - variable: cloudflareddns
    group: App Configuration
    label: Cloudflareddns Configuration
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: api_key
          label: CF API Key
          schema:
            type: string
            private: true
            default: ""
        - variable: user
          label: CF User
          description: Cloudflare Username (eg. your.cf.email@example.com)
          schema:
            type: string
            default: ""
        - variable: api_token
          label: CF API Token
          schema:
            type: string
            private: true
            default: ""
        - variable: api_token_zone
          label: CF API Token Zone
          schema:
            type: string
            private: true
            default: ""
        - variable: interval
          label: Interval
          description: Update your DDNS interval in seconds
          schema:
            type: int
            default: 300
            min: 60
        - variable: detect_mode
          label: Detection Mode
          description: How you want to get your WAN IP
          schema:
            type: string
            default: dig-whoami.cloudflare
            enum:
              - value: dig-whoami.cloudflare
                description: dig-whoami.cloudflare
              - value: curl-ifconfig.co
                description: curl-ifconfig.co
              - value: curl-icanhazip.com
                description: curl-icanhazip.com
              - value: curl-wtfismyip.com
                description: curl-wtfismyip.com
              - value: curl-showmyip.ca
                description: curl-showmyip.ca
              - value: curl-da.gd
                description: curl-da.gd
              - value: curl-seeip.org
                description: curl-seeip.org
              - value: dig-google.com
                description: dig-google.com
              - value: dig-opendns.com
                description: dig-opendns.com
        - variable: detect_override
          label: Detection mode Override
          description: If you want to set Detection Mode to 'local:eth0' for a local interface, this will override the dropdown selection
          schema:
            type: string
            default: ""
        - variable: log_level
          label: Log Level
          description: Level of detail your logs need
          schema:
            type: int
            default: 3
            enum:
              - value: 0
                description: No log output
              - value: 1
                description: UPDATE, WARNING, ERROR
              - value: 2
                description: UPDATE, WARNING, ERROR, INFO
              - value: 3
                description: UPDATE, WARNING, ERROR, INFO, DEBUG
        - variable: host_zone_record
          label: Hosts, Zones and Record Types
          schema:
            type: list
            default: []
            items:
              - variable: hostRecordEntry
                label: Host, Zone and Record Type Entry
                schema:
                  type: dict
                  additional_attrs: true
                  attrs:
                    - variable: domain
                      label: Domain
                      schema:
                        type: string
                        required: true
                        default: "example.com"
                        valid_chars: '^((?!(\.cf|\.ga|\.gq|\.ml|\.tk)$).)*$'
                    - variable: zone
                      label: Zone
                      schema:
                        type: string
                        required: true
                        valid_chars: '^((?!(\.cf|\.ga|\.gq|\.ml|\.tk)$).)*$'
                        default: ""
                    - variable: record
                      label: Record Type
                      schema:
                        type: string
                        required: true
                        default: "A"

# Include{containerConfig}
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: config
          label: App Config Storage
          description: Stores the Application Configuration.
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
# Include{persistenceList}

# Include{securityContextRoot}
              - 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}
