# Include{groups}
portals:
open:
# Include{portalLink}
path: "$kubernetes-resource_configmap_tcportal-open_path"
questions:
# Include{global}
# Include{workload}
# Include{workloadDeployment}
# Include{replicas1}
# Include{podSpec}
# Include{containerMain}
# Include{containerBasic}
# Include{containerAdvanced}
# Include{containerConfig}
# Include{podOptions}
- variable: expertIngressClass
label: Expert Mode
group: App Configuration
description: |
Expert Mode contains settings like:
- IngressClass
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: ingressClass
label: "ingressClass"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: "Enable"
description: "When enabled, ingressClass will match the entered name of this app"
schema:
type: boolean
default: false
- variable: isDefaultClass
label: "isDefaultClass"
schema:
type: boolean
show_if: [["enabled", "=", true]]
default: false
- variable: logs
label: "Logs"
group: "App Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: general
label: "General Logs"
schema:
additional_attrs: true
type: dict
attrs:
- variable: level
label: "Log Level"
schema:
type: string
default: "ERROR"
enum:
- value: "INFO"
description: "Info"
- value: "WARN"
description: "Warnings"
- value: "ERROR"
description: "Errors"
- value: "FATAL"
description: "Fatal Errors"
- value: "PANIC"
description: "Panics"
- value: "DEBUG"
description: "Debug"
- variable: format
label: "General Log format"
schema:
type: string
default: "common"
enum:
- value: "common"
description: "Common Log Format"
- value: "json"
description: "JSON"
- variable: access
label: "Access Logs"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: "Enable"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabledFilters
label: "Enable Filters"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: filters
label: "Filters"
schema:
additional_attrs: true
type: dict
attrs:
- variable: statuscodes
label: "Status codes"
schema:
type: string
default: "200,300-302"
- variable: retryattempts
label: "retryattempts"
schema:
type: boolean
default: true
- variable: minduration
label: "minduration"
schema:
type: string
default: "10ms"
- variable: fields
label: "Fields"
schema:
additional_attrs: true
type: dict
attrs:
- variable: general
label: "General"
schema:
additional_attrs: true
type: dict
attrs:
- variable: defaultmode
label: "Default Mode"
schema:
type: string
default: "keep"
enum:
- value: "keep"
description: "Keep"
- value: "drop"
description: "Drop"
- variable: headers
label: "Headers"
schema:
additional_attrs: true
type: dict
attrs:
- variable: defaultmode
label: "Default Mode"
schema:
type: string
default: "drop"
enum:
- value: "keep"
description: "Keep"
- value: "drop"
description: "Drop"
- variable: format
label: "Access Log format"
schema:
type: string
default: "common"
enum:
- value: "common"
description: "Common Log Format"
- value: "json"
description: "JSON"
- variable: middlewares
label: ""
group: "Middlewares"
schema:
additional_attrs: true
type: dict
attrs:
# Include{basicAuthMiddleware}
# Include{forwardAuthMiddleware}
# Include{bufferingMiddleware}
# Include{customRequestHeadersMiddleware}
# Include{customResponseHeadersMiddleware}
# Include{rewriteResponseHeadersMiddleware}
# Include{customFrameOptionsValueMiddleware}
# Include{chainMiddleware}
# Include{redirectSchemeMiddleware}
# Include{rateLimitMiddleware}
# Include{redirectRegexMiddleware}
# Include{stripPrefixRegexMiddleware}
# Include{ipWhitelistMiddleware}
# Include{themeParkMiddleware}
# Include{realIPMiddleware}
# Include{geoBlockMiddleware}
# Include{addPrefixMiddleware}
# Include{modsecurityMiddleware}
# Include{crowdsecMiddleware}
- variable: service
group: "Networking and Services"
label: "Configure Service Entrypoint"
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:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: main
label: "Main Entrypoint Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Entrypoints Port"
schema:
type: int
default: 9000
required: true
- variable: tcp
label: "TCP Service"
description: "The tcp Entrypoint service"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: web
label: "web Entrypoint Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Entrypoints Port"
schema:
type: int
default: 80
required: true
- variable: advanced
label: Show Advanced Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: redirectPort
label: "Redirect to Port"
schema:
type: int
- variable: redirectTo
label: "Redirect to Entrypoint"
schema:
type: string
default: "websecure"
# Include{forwardedHeaders}
# Include{proxyProtocol}
- variable: websecure
label: "websecure Entrypoints Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Entrypoints Port"
schema:
type: int
default: 443
required: true
- variable: advanced
label: Show Advanced Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: redirectPort
label: "Redirect to Port"
schema:
type: int
- variable: redirectTo
label: "Redirect to Entrypoint"
schema:
type: string
# Include{forwardedHeaders}
# Include{proxyProtocol}
- variable: tls
label: "websecure Entrypoints Configuration"
schema:
additional_attrs: true
type: dict
hidden: true
attrs:
- variable: enabled
label: "Enabled"
schema:
type: boolean
default: true
hidden: true
- variable: portsList
label: "Additional TCP Entrypoints"
schema:
type: list
default: []
items:
- variable: portsListEntry
label: "Custom Entrypoints"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: "Enable the port"
schema:
type: boolean
default: true
hidden: true
- variable: name
label: "Entrypoints Name"
schema:
type: string
default: ""
- variable: protocol
label: "Entrypoints Type"
schema:
type: string
default: "tcp"
enum:
- value: http
description: "HTTP"
- value: "https"
description: "HTTPS"
- value: tcp
description: "TCP"
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
required: true
- variable: tls
label: "websecure Entrypoints Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: "Enabled"
schema:
type: boolean
default: true
- variable: redirectPort
label: "Redirect to Port"
schema:
type: int
- variable: redirectTo
label: "Redirect to Entrypoint"
schema:
type: string
# Include{forwardedHeaders}
# Include{proxyProtocol}
# Include{ingressRoot}
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressAdvanced}
# Include{ingressList}
# Include{securityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 568
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID of the user running the application"
schema:
type: int
default: 568
# 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{metrics}
# Include{prometheusRule}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{netshoot}
# Include{vpn}
# Include{documentation}
- variable: warning
group: Documentation
label: 'WARNING: If installed, be sure to move the TrueNAS GUI to another port (not 80 or 443).'
description: 'See:
https://truecharts.org/charts/premium/traefik/how-to for more info.'
schema:
additional_attrs: true
type: dict
attrs:
- variable: warningconfim
label: I am aware that I will brick my system, if I did not follow the instructions.
schema:
type: boolean
default: true
required: true