catalog/stable/n8n/4.0.53/questions.yaml

3021 lines
123 KiB
YAML

groups:
- name: Container Image
description: Image to be used for container
- name: Controller
description: Configure Workload Deployment
- name: Container Configuration
description: Additional Container Configuration
- name: App Configuration
description: App Specific Config Options
- name: Networking and Services
description: Configure Network and Services for Container
- name: Storage and Persistence
description: Persist and Share Data that is Separate from the Container
- name: Ingress
description: Ingress Configuration
- name: Security and Permissions
description: Configure Security Context and Permissions
- name: Resources and Devices
description: "Specify Resources/Devices to be Allocated to Workload"
- name: Middlewares
description: Traefik Middlewares
- name: Metrics
description: Metrics
- name: Addons
description: Addon Configuration
- name: Advanced
description: Advanced Configuration
- name: Documentation
description: Documentation
portals:
open:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
questions:
- variable: global
label: Global Settings
group: Controller
schema:
type: dict
hidden: true
attrs:
- variable: isSCALE
label: Flag this is SCALE
schema:
type: boolean
default: true
hidden: true
- variable: controller
group: Controller
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: advanced
label: Show Advanced Controller Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: type
description: Please specify type of workload to deploy
label: (Advanced) Controller Type
schema:
type: string
required: true
enum:
- value: deployment
description: Deployment
- value: statefulset
description: Statefulset
- value: daemonset
description: Daemonset
default: deployment
- variable: replicas
description: Number of desired pod replicas
label: Desired Replicas
schema:
type: int
required: true
default: 1
- variable: strategy
description: Please specify type of workload to deploy
label: (Advanced) Update Strategy
schema:
type: string
required: true
enum:
- value: Recreate
description: "Recreate: Kill existing pods before creating new ones"
- value: RollingUpdate
description: "RollingUpdate: Create new pods and then kill old ones"
- value: OnDelete
description: "(Legacy) OnDelete: ignore .spec.template changes"
default: Recreate
- variable: expert
label: Show Expert Configuration Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: labelsList
label: Controller 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: Controller 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: customextraargs
group: Controller
label: "Extra Args"
description: "Do not click this unless you know what you are doing"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: extraArgs
label: Extra Args
schema:
type: list
default: []
items:
- variable: arg
label: Arg
schema:
type: string
- variable: timezoneandlocale
group: "Container Configuration"
label: "Timezone and Localization"
schema:
additional_attrs: true
type: dict
attrs:
- variable: N8N_DEFAULT_LOCALE
label: "Default Locale (Leave empty for default)"
description: "A locale identifier, compatible with the Accept-Language header."
schema:
type: string
default: ""
- variable: deployment
group: "Container Configuration"
label: "Deployment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: N8N_HOST
label: "Host"
description: "Host name n8n runs on."
schema:
type: string
required: true
default: ""
- variable: N8N_EDITOR_BASE_URL
label: "Base URL"
description: "Public URL where users can access the editor. Also used for emails sent from n8n."
schema:
type: string
default: ""
- variable: N8N_CONFIG_FILES
label: "Config Files (Leave empty for default)"
description: "Use to provide the path to any JSON configuration file(s)"
schema:
type: string
default: ""
- variable: N8N_DISABLE_UI
label: "Disable UI"
description: "Whether the UI should be disabled"
schema:
type: boolean
default: false
- variable: N8N_TEMPLATES_ENABLED
label: "Enable Templates"
description: "Enable workflow templates."
schema:
type: boolean
default: false
show_subquestions_if:
subquestions:
- variable: N8N_TEMPLATES_HOST
label: "Templates Host (Leave empty for default)"
description: "Change this if creating your own workflow template library."
schema:
type: string
default: ""
- variable: N8N_ENCRYPTION_KEY
label: "Encryption Key (Leave empty for default)"
description: "Provide a custom key used to encrypt credentials in the n8n database. By default a random key is generated on first launch"
schema:
type: string
default: ""
- variable: N8N_PERSONALIZATION_ENABLED
label: "Enable Personalization"
description: "Whether to ask users personalization questions and then customize n8n accordingly"
schema:
type: boolean
default: true
- variable: N8N_VERSION_NOTIFICATIONS_ENABLED
label: "Enable Version Notifications"
description: "When enabled, notifications of new versions and security updates are provided"
schema:
type: boolean
default: true
- variable: N8N_DIAGNOSTICS_ENABLED
label: "Enable Diagnostics"
description: "Whether to share selected, anonymous telemetry with n8n"
schema:
type: boolean
default: false
- variable: N8N_HIRING_BANNER_ENABLED
label: "Enable Hiring Banner"
description: "Whether to show the n8n hiring banner in the console."
schema:
type: boolean
default: false
- variable: workflows
group: "Container Configuration"
label: "Workflows"
schema:
additional_attrs: true
type: dict
attrs:
- variable: WORKFLOWS_DEFAULT_NAME
label: "Workflows Default Name (Leave empty for default)"
description: "The default name used for new workflows"
schema:
type: string
default: ""
- variable: N8N_ONBOARDING_FLOW_DISABLED
label: "Enable Onboarding Flow"
description: "Whether to show onboarding tips when creating a new workflow."
schema:
type: boolean
default: false
- variable: N8N_WORKFLOW_TAGS_DISABLED
label: "Disable Workflow Tags"
description: "Whether to disable workflow tags."
schema:
type: boolean
default: false
- variable: executions
group: "Container Configuration"
label: "Executions"
schema:
additional_attrs: true
type: dict
attrs:
- variable: EXECUTIONS_PROCESS
label: "Execution Process"
description: "Whether processes are executed in their own process or the main process"
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "main"
description: "Main"
- value: "own"
description: "Own"
- variable: EXECUTIONS_MODE
label: "Execution Mode"
description: "Whether processes should run directly or via queue"
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "regular"
description: "Regular"
- value: "queue"
description: "Queue"
- variable: EXECUTIONS_TIMEOUT
label: "Execution Timeout (Leave empty for default)"
description: "The maximum run time (in seconds) before stopping a workflow execution. Set to -1 to disable."
schema:
type: int
- variable: EXECUTIONS_TIMEOUT_MAX
label: "Max Execution Timeout (Leave empty for default)"
description: "The max execution time (in seconds) that can be set for a workflow individually"
schema:
type: int
- variable: EXECUTIONS_DATA_SAVE_ON_ERROR
label: "Execution Data Save on Error"
description: "Whether n8n saves execution data on error."
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "all"
description: "All"
- value: "none"
description: "None"
- variable: EXECUTIONS_DATA_SAVE_ON_SUCCESS
label: "Execution Data Save on Success"
description: "Whether execution data is saved on success"
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "all"
description: "All"
- value: "none"
description: "None"
- variable: EXECUTIONS_DATA_SAVE_ON_PROGRESS
label: "Execution Data Save on Progress"
description: "Whether to save progress for each node executed"
schema:
type: boolean
default: false
- variable: EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS
label: "Execution Data Save on Manual Executions"
description: "Whether to save data of executions when started manually"
schema:
type: boolean
default: false
- variable: EXECUTIONS_DATA_MAX_AGE
label: "Execution Data Max Age (Leave empty for default)"
description: "The execution age (in hours) before it is deleted"
schema:
type: int
- variable: EXECUTIONS_DATA_PRUNE
label: "Execution Data Prune"
description: "Whether to delete data of past executions on a rolling basis"
schema:
type: boolean
default: false
show_subquestions_if:
subquestions:
- variable: EXECUTIONS_DATA_PRUNE_TIMEOUT
label: "Data Prune Timeout (Leave empty for default)"
description: "The timeout (in seconds) after execution data has been pruned"
schema:
type: int
- variable: n8n_security
group: "Container Configuration"
label: "Security"
schema:
additional_attrs: true
type: dict
attrs:
- variable: N8N_BLOCK_ENV_ACCESS_IN_NODE
label: "Block Environment Access in Node"
description: "Whether to allow users to access environment variables in expressions and the function node"
schema:
type: boolean
default: false
- variable: N8N_BASIC_AUTH_ACTIVE
label: "Enable Basic Auth"
description: "Whether basic auth should be activated for editor and REST-API access"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: N8N_BASIC_AUTH_USER
label: "Basic Auth User (Leave empty for default)"
description: "The name of the n8n user for basic authentication"
schema:
type: string
default: ""
- variable: N8N_BASIC_AUTH_PASSWORD
label: "Basic Auth Password (Leave empty for default)"
description: "The password of the n8n user for basic authentication"
schema:
type: string
default: ""
- variable: N8N_BASIC_AUTH_HASH
label: "Enable Basic Auth Hash"
description: "Whether the basic authentication password is hashed"
schema:
type: boolean
default: false
- variable: N8N_JWT_AUTH_ACTIVE
label: "Enable JWT Auth"
description: "Whether JWT authentication should be activated for editor and REST-API access"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: N8N_JWT_AUTH_HEADER
label: "JWT Auth Header (Leave empty for default)"
description: "The request header containing a signed JWT"
schema:
type: string
default: ""
- variable: N8N_JWT_AUTH_HEADER_VALUE_PREFIX
label: "JWT Auth Header Prefix to strip (Leave empty for default)"
description: "Optional. The request header value prefix to strip"
schema:
type: string
default: ""
- variable: N8N_JWKS_URI
label: "JWT Set URI (Leave empty for default)"
description: "The URI to fetch JWK Set for JWT authentication"
schema:
type: string
default: ""
- variable: N8N_JWT_ISSUER
label: "JWT Issuer (Leave empty for default)"
description: "Optional. The expected JWT issuer"
schema:
type: string
default: ""
- variable: N8N_JWT_NAMESPACE
label: "JWT Namespace (Leave empty for default)"
description: "Optional. The expected JWT namespace"
schema:
type: string
default: ""
- variable: N8N_JWT_ALLOWED_TENANT
label: "JWT Allowed Tenant (Leave empty for default)"
description: "Optional. The allowed JWT tenant"
schema:
type: string
default: ""
- variable: N8N_JWT_ALLOWED_TENANT_KEY
label: "JWT Allowed Tenant Key (Leave empty for default)"
description: "Optional. The JWT tenant key name to inspect within the JWT namespace"
schema:
type: string
default: ""
- variable: N8N_AUTH_EXCLUDE_ENDPOINTS
label: "Additional Endpoints to Exclude Auth Checks (Leave empty for default)"
description: "Additional endpoints to exclude auth checks. Multiple endpoints can be provided separated by a colon (\":\"). The endpoints should not start with a forward slash (\"/\")"
schema:
type: string
default: ""
- variable: endpoints
group: "Container Configuration"
label: "Endpoints"
schema:
additional_attrs: true
type: dict
attrs:
- variable: WEBHOOK_URL
label: "Webhook URL"
description: "Used to manually provide the Webhook URL when running n8n behind a reverse proxy"
schema:
type: string
default: ""
- variable: N8N_PAYLOAD_SIZE_MAX
label: "Max Payload Size (Leave empty for default)"
description: "The maximum payload size in MB"
schema:
type: int
- variable: N8N_METRICS
label: "Enable Metrics endpoint"
description: "Whether to enable the metrics endpoint"
schema:
type: boolean
default: false
show_subquestions_if:
subquestions:
- variable: N8N_METRICS_PREFIX
label: "Metrics Prefix (Leave empty for default)"
description: "Optional prefix to be used for metrics names"
schema:
type: string
default: ""
- variable: N8N_ENDPOINT_REST
label: "Rest Endpoint Path (Leave empty for default)"
description: "The path used for REST endpoint"
schema:
type: string
default: ""
- variable: N8N_ENDPOINT_WEBHOOK
label: "Webhook Endpoint Path (Leave empty for default)"
description: "The path used for webhook endpoint"
schema:
type: string
default: ""
- variable: N8N_ENDPOINT_WEBHOOK_TEST
label: "Test-Webhook Endpoint Path (Leave empty for default)"
description: "The path used for test-webhook endpoin"
schema:
type: string
default: ""
- variable: N8N_ENDPOINT_WEBHOOK_WAIT
label: "Waiting-Webhook Endpoint Path (Leave empty for default)"
description: "The path used for waiting-webhook endpoint"
schema:
type: string
default: ""
- variable: N8N_DISABLE_PRODUCTION_MAIN_PROCESS
label: "Disable Production Webhooks"
description: "Disable production webhooks from main process. This helps ensures no HTTP traffic load to main process when using webhook-specific processes"
schema:
type: boolean
default: false
- variable: N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN
label: "Deregister External Webhooks"
description: "Deregister webhooks on external services only when workflows are deactivated"
schema:
type: boolean
default: false
- variable: credentials
group: "Container Configuration"
label: "Credentials"
schema:
additional_attrs: true
type: dict
attrs:
- variable: CREDENTIALS_OVERWRITE_DATA
label: "Credentials Overwrites (Leave empty for default)"
description: "Overwrites for credentials"
schema:
type: string
default: ""
- variable: CREDENTIALS_OVERWRITE_ENDPOINT
label: "Credentials Overwrite Endpoint (Leave empty for default)"
description: "The API endpoint to fetch credentials"
schema:
type: string
default: ""
- variable: CREDENTIALS_DEFAULT_NAME
label: "Credentials Default Name (Leave empty for default)"
description: "The default name for credentials"
schema:
type: string
default: ""
- variable: logs
group: "Container Configuration"
label: "Logs"
schema:
additional_attrs: true
type: dict
attrs:
- variable: N8N_LOG_LEVEL
label: "Log Level"
description: "Log output level"
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "info"
description: "Info"
- value: "warn"
description: "Warn"
- value: "error"
description: "Error"
- value: "verbose"
description: "Verbose"
- value: "debug"
description: "Debug"
- variable: N8N_LOG_OUTPUT
label: "Log Output"
description: "Where to output logs"
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "console"
description: "Console"
- value: "file"
description: "File"
- value: "console,file"
description: "Console and File"
- variable: N8N_LOG_FILE_COUNT_MAX
label: "Max Log File Count (Leave empty for default)"
description: "Max number of log files to keep"
schema:
type: int
- variable: N8N_LOG_FILE_SIZE_MAX
label: "Max Log File Size (Leave empty for default)"
description: "Max size of each log file in MB"
schema:
type: int
- variable: externalhooks
group: "Container Configuration"
label: "External Hooks"
schema:
additional_attrs: true
type: dict
attrs:
- variable: EXTERNAL_HOOK_FILES
label: "External Hook Files (Leave empty for default)"
description: "Files containing external hooks. Provide multiple files as a colon-separated list ':'."
schema:
type: string
default: ""
- variable: usermanagement
group: "Container Configuration"
label: "User Management and SMTP"
schema:
additional_attrs: true
type: dict
attrs:
- variable: N8N_USER_MANAGEMENT_DISABLED
label: "Disable User Management"
description: "Set to true to disable the user management feature. Note that n8n ignores this environment variable if you have already set up an owner account."
schema:
type: boolean
default: false
- variable: N8N_EMAIL_MODE
label: "Email Mode"
description: "Enable emails."
schema:
type: string
default: "smtp"
- variable: N8N_SMTP_HOST
label: "SMTP Host"
description: "Your SMTP server name"
schema:
type: string
default: ""
- variable: N8N_SMTP_PORT
label: "SMTP Port"
description: "Your SMTP server port"
schema:
type: int
- variable: N8N_SMTP_USER
label: "SMTP User"
description: "Your SMTP username"
schema:
type: string
default: ""
- variable: N8N_SMTP_PASS
label: "SMTP Pass"
description: "Your SMTP password"
schema:
type: string
private: true
default: ""
- variable: N8N_SMTP_SENDER
label: "SMTP Sender"
description: "You can select the sender name from the sender addresses."
schema:
type: string
default: ""
- variable: N8N_SMTP_SSL
label: "SMTP SSL"
description: "Whether to use SSL for SMTP."
schema:
type: boolean
default: true
- variable: N8N_UM_EMAIL_TEMPLATES_INVITE
label: "Invite Email Templates (Leave empty for default)"
description: "Full path to your HTML email template. This overrides the default template for invite emails."
schema:
type: string
default: ""
- variable: N8N_UM_EMAIL_TEMPLATES_PWRESET
label: "Password Reset Email Templates (Leave empty for default)"
description: "Full path to your HTML email template. This overrides the default template for password reset emails."
schema:
type: string
default: ""
- variable: TZ
label: Timezone
group: Container Configuration
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- variable: envList
label: Extra Environment Variables
description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
group: Container Configuration
schema:
type: list
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: expertpodconf
group: Container Configuration
label: Show Expert Configuration
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: tty
label: Enable TTY
description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled.
group: Workload Details
schema:
type: boolean
default: false
- variable: stdin
label: Enable STDIN
description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled.
group: Workload Details
schema:
type: boolean
default: false
- variable: termination
group: Container Configuration
label: Termination settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: gracePeriodSeconds
label: Grace Period Seconds
schema:
type: int
default: 10
- variable: podLabelsList
group: Container Configuration
label: Pod Labels
schema:
type: list
default: []
items:
- variable: podLabelItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: podAnnotationsList
group: Container Configuration
label: Pod Annotations
schema:
type: list
default: []
items:
- variable: podAnnotationItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: service
group: Networking and Services
label: Configure Service(s)
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:
- variable: enabled
label: Enable the Service
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Service Type
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: Simple
enum:
- value: Simple
description: Simple
- value: ClusterIP
description: ClusterIP
- value: NodePort
description: NodePort (Advanced)
- value: LoadBalancer
description: LoadBalancer (Advanced)
- variable: loadBalancerIP
label: LoadBalancer IP
description: LoadBalancerIP
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ipFamilyPolicy
label: IP Family Policy
description: (Advanced) Specify the IP Policy
schema:
show_if: [["type", "!=", "Simple"]]
type: string
default: SingleStack
enum:
- value: SingleStack
description: SingleStack
- value: PreferDualStack
description: PreferDualStack
- value: RequireDualStack
description: RequireDualStack
- variable: ipFamilies
label: (Advanced) IP Families
description: (Advanced) The IP Families that should be used
schema:
show_if: [["type", "!=", "Simple"]]
type: list
default: []
items:
- variable: ipFamily
label: IP Family
schema:
type: string
- variable: ports
label: "Service's Port(s) Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- 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: 5678
required: true
- variable: advanced
label: Show Advanced Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enable the Port
schema:
type: boolean
hidden: true
default: true
- variable: protocol
label: Port Type
schema:
type: string
default: HTTP
enum:
- value: HTTP
description: HTTP
- value: HTTPS
description: HTTPS
- value: TCP
description: TCP
- value: UDP
description: UDP
- variable: nodePort
label: Node Port (Optional)
description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer
schema:
type: int
min: 9000
max: 65535
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 5678
- variable: serviceexpert
group: Networking and Services
label: Show Expert Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
group: Networking and Services
label: Host-Networking (Complicated)
schema:
type: boolean
default: false
- variable: externalInterfaces
description: Add External Interfaces
label: Add external Interfaces
group: Networking
schema:
type: list
items:
- variable: interfaceConfiguration
description: Interface Configuration
label: Interface Configuration
schema:
type: dict
$ref:
- "normalize/interfaceConfiguration"
attrs:
- variable: hostInterface
description: Please Specify Host Interface
label: Host Interface
schema:
type: string
required: true
$ref:
- "definitions/interface"
- variable: ipam
description: Define how IP Address will be managed
label: IP Address Management
schema:
type: dict
required: true
attrs:
- variable: type
description: Specify type for IPAM
label: IPAM Type
schema:
type: string
required: true
enum:
- value: dhcp
description: Use DHCP
- value: static
description: Use Static IP
show_subquestions_if: static
subquestions:
- variable: staticIPConfigurations
label: Static IP Addresses
schema:
type: list
items:
- variable: staticIP
label: Static IP
schema:
type: ipaddr
cidr: true
- variable: staticRoutes
label: Static Routes
schema:
type: list
items:
- variable: staticRouteConfiguration
label: Static Route Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: destination
label: Destination
schema:
type: ipaddr
cidr: true
required: true
- variable: gateway
label: Gateway
schema:
type: ipaddr
cidr: false
required: true
- variable: dnsPolicy
group: Networking and Services
label: dnsPolicy
schema:
type: string
default: ""
enum:
- value: ""
description: Default
- value: ClusterFirst
description: ClusterFirst
- value: ClusterFirstWithHostNet
description: ClusterFirstWithHostNet
- value: None
description: None
- variable: dnsConfig
label: DNS Configuration
group: Networking and Services
description: Specify custom DNS configuration which will be applied to the pod
schema:
additional_attrs: true
type: dict
attrs:
- variable: nameservers
label: Name Servers
schema:
default: []
type: list
items:
- variable: nameserver
label: Name Server
schema:
type: string
- variable: options
label: Options
schema:
default: []
type: list
items:
- variable: option
label: Option Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: searches
label: Searches
schema:
default: []
type: list
items:
- variable: search
label: Search Entry
schema:
type: string
- variable: serviceList
label: Add Manual Custom Services
group: Networking and Services
schema:
type: list
default: []
items:
- variable: serviceListEntry
label: Custom Service
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the service
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name
schema:
type: string
default: ""
- variable: type
label: Service Type
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: Simple
enum:
- value: Simple
description: Simple
- value: NodePort
description: NodePort
- value: ClusterIP
description: ClusterIP
- value: LoadBalancer
description: LoadBalancer
- variable: loadBalancerIP
label: LoadBalancer IP
description: LoadBalancerIP
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: portsList
label: Additional Service Ports
schema:
type: list
default: []
items:
- variable: portsListEntry
label: Custom ports
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Port
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Port Name
schema:
type: string
default: ""
- variable: protocol
label: Port Type
schema:
type: string
default: TCP
enum:
- value: HTTP
description: HTTP
- value: HTTPS
description: HTTPS
- value: TCP
description: TCP
- value: UDP
description: UDP
- variable: targetPort
label: Target Port
description: This port exposes the container port on the service
schema:
type: int
required: true
- variable: port
label: Container Port
schema:
type: int
required: true
- variable: nodePort
label: Node Port (Optional)
description: This port gets exposed to the node. Only considered when service type is NodePort
schema:
type: int
min: 9000
max: 65535
- variable: persistence
label: Integrated Persistent Storage
description: Integrated Persistent Storage
group: Storage and Persistence
schema:
additional_attrs: true
type: dict
attrs:
- variable: data
label: "App Data Storage"
description: "Stores the Application Data."
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: simplePVC
enum:
- value: simplePVC
description: PVC (simple)
- value: simpleHP
description: Host Path (simple)
- value: emptyDir
description: emptyDir
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: nfs
description: NFS Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: setPermissionsSimple
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "simpleHP"]]
type: boolean
default: false
- variable: setPermissions
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPathSimple
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size quotum of Storage
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 999Gi
- variable: hostPathType
label: (Advanced) hostPath Type
schema:
show_if: [["type", "=", "hostPath"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: DirectoryOrCreate
description: DirectoryOrCreate
- value: Directory
description: Directory
- value: FileOrCreate
description: FileOrCreate
- value: File
description: File
- value: Socket
description: Socket
- value: CharDevice
description: CharDevice
- value: BlockDevice
description: BlockDevice
- variable: storageClass
label: (Advanced) storageClass
description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: SCALE-ZFS
- variable: accessMode
label: (Advanced) Access Mode
description: Allow or disallow multiple PVC's writhing to the same PV
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: ReadWriteOnce
enum:
- value: ReadWriteOnce
description: ReadWriteOnce
- value: ReadOnlyMany
description: ReadOnlyMany
- value: ReadWriteMany
description: ReadWriteMany
- variable: advanced
label: Show Advanced Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- 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: persistenceList
label: Additional App Storage
group: Storage and Persistence
schema:
type: list
default: []
items:
- variable: persistenceListEntry
label: Custom Storage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the storage
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name (Optional)
description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
schema:
type: string
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: simpleHP
enum:
- value: simplePVC
description: PVC (Simple)
- value: simpleHP
description: Host Path (Simple)
- value: emptyDir
description: emptyDir
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: nfs
description: NFS Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: setPermissionsSimple
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "simpleHP"]]
type: boolean
default: true
- variable: setPermissions
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: true
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPathSimple
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: mountPath
label: Mount Path
description: Path inside the container the storage is mounted
schema:
type: string
default: ""
required: true
valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size Quotum of Storage
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 999Gi
- variable: hostPathType
label: (Advanced) Host Path Type
schema:
show_if: [["type", "=", "hostPath"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: DirectoryOrCreate
description: DirectoryOrCreate
- value: Directory
description: Directory
- value: FileOrCreate
description: FileOrCreate
- value: File
description: File
- value: Socket
description: Socket
- value: CharDevice
description: CharDevice
- value: BlockDevice
description: BlockDevice
- variable: storageClass
label: (Advanced) StorageClass
description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: SCALE-ZFS
- variable: accessMode
label: (Advanced) Access Mode
description: Allow or disallow multiple PVC's writhing to the same PV
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: ReadWriteOnce
enum:
- value: ReadWriteOnce
description: ReadWriteOnce
- value: ReadOnlyMany
description: ReadOnlyMany
- value: ReadWriteMany
description: ReadWriteMany
- variable: advanced
label: Show Advanced Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- 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: ingress
label: ""
group: Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable Ingress
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- 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: Path Type
schema:
type: string
required: true
default: Prefix
- 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: (Advanced) 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
- variable: expert
label: Show Expert Configuration Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enableFixedMiddlewares
description: These middlewares enforce a number of best practices.
label: Enable Default Middlewares
schema:
type: boolean
default: true
- 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: 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: Path Type
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
- variable: security
label: Container Security Settings
group: Security and Permissions
schema:
type: dict
additional_attrs: true
attrs:
- variable: editsecurity
label: Change PUID / UMASK values
description: By enabling this you override default set values.
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: PUID
label: Process User ID - PUID
description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps
schema:
type: int
default: 568
- variable: UMASK
label: UMASK
description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
schema:
type: string
default: "002"
- variable: advancedSecurity
label: Show Advanced Security Settings
group: Security and Permissions
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: Security Context
schema:
additional_attrs: true
type: dict
attrs:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
- variable: capabilities
label: Capabilities
schema:
additional_attrs: true
type: dict
attrs:
- variable: drop
label: Drop Capability
schema:
type: list
default: []
items:
- variable: dropEntry
label: ""
schema:
type: string
- variable: add
label: Add Capability
schema:
type: list
default: []
items:
- variable: addEntry
label: ""
schema:
type: string
- variable: podSecurityContext
group: Security and Permissions
label: Pod Security Context
schema:
additional_attrs: true
type: dict
attrs:
- 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: 568
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 1000
- variable: fsGroupChangePolicy
label: "When should we take ownership?"
schema:
type: string
default: OnRootMismatch
enum:
- value: OnRootMismatch
description: OnRootMismatch
- value: Always
description: Always
- variable: supplementalGroups
label: Supplemental Groups
schema:
type: list
default: []
items:
- variable: supplementalGroupsEntry
label: Supplemental Group
schema:
type: int
- variable: advancedresources
label: Set Custom Resource Limits/Requests (Advanced)
group: Resources and Devices
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: resources
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: limits
label: Advanced Limit Resource Consumption
schema:
additional_attrs: true
type: dict
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 4000m
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: RAM
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 8Gi
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: requests
label: "Minimum Resources Required (request)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 10m
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: "RAM"
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 50Mi
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: deviceList
label: Mount USB Devices
group: Resources and Devices
schema:
type: list
default: []
items:
- variable: deviceListEntry
label: Device
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Storage
schema:
type: boolean
default: true
- variable: type
label: (Advanced) Type of Storage
description: Sets the persistence type
schema:
type: string
default: hostPath
hidden: true
- variable: readOnly
label: readOnly
schema:
type: boolean
default: false
- variable: hostPath
label: Host Device Path
description: Path to the device on the host system
schema:
type: path
- variable: mountPath
label: Container Device Path
description: Path inside the container the device is mounted
schema:
type: string
default: "/dev/ttyACM0"
# Specify GPU configuration
- variable: scaleGPU
label: GPU Configuration
group: Resources and Devices
schema:
type: dict
$ref:
- "definitions/gpuConfiguration"
attrs: []
# - variable: autoscaling
# group: Advanced
# label: (Advanced) Horizontal Pod Autoscaler
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: enabled
# label: Enabled
# schema:
# type: boolean
# default: false
# show_subquestions_if: true
# subquestions:
# - variable: target
# label: Target
# description: Deployment name, Defaults to Main Deployment
# schema:
# type: string
# default: ""
# - variable: minReplicas
# label: Minimum Replicas
# schema:
# type: int
# default: 1
# - variable: maxReplicas
# label: Maximum Replicas
# schema:
# type: int
# default: 5
# - variable: targetCPUUtilizationPercentage
# label: Target CPU Utilization Percentage
# schema:
# type: int
# default: 80
# - variable: targetMemoryUtilizationPercentage
# label: Target Memory Utilization Percentage
# schema:
# type: int
# default: 80
# - variable: networkPolicy
# group: Advanced
# label: (Advanced) Network Policy
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: enabled
# label: Enabled
# schema:
# type: boolean
# default: false
# show_subquestions_if: true
# subquestions:
# - variable: policyType
# label: Policy Type
# schema:
# type: string
# default: ""
# enum:
# - value: ""
# description: Default
# - value: ingress
# description: Ingress
# - value: egress
# description: Egress
# - value: ingress-egress
# description: Ingress and Egress
# - variable: egress
# label: Egress
# schema:
# type: list
# default: []
# items:
# - variable: egressEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: to
# label: To
# schema:
# type: list
# default: []
# items:
# - variable: toEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: ipBlock
# label: IP Block
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: cidr
# label: CIDR
# schema:
# type: string
# default: ""
# - variable: except
# label: Except
# schema:
# type: list
# default: []
# items:
# - variable: exceptint
# label: ""
# schema:
# type: string
# - variable: namespaceSelector
# label: Namespace Selector
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: matchExpressions
# label: Match Expressions
# schema:
# type: list
# default: []
# items:
# - variable: expressionEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: key
# label: Key
# schema:
# type: string
# - variable: operator
# label: Operator
# schema:
# type: string
# default: TCP
# enum:
# - value: In
# description: In
# - value: NotIn
# description: NotIn
# - value: Exists
# description: Exists
# - value: DoesNotExist
# description: DoesNotExist
# - variable: values
# label: Values
# schema
# type: list
# default: []
# items:
# - variable: value
# label: ""
# schema:
# type: string
# - variable: podSelector
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: matchExpressions
# label: Match Expressions
# schema:
# type: list
# default: []
# items:
# - variable: expressionEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: key
# label: Key
# schema:
# type: string
# - variable: operator
# label: Operator
# schema:
# type: string
# default: TCP
# enum:
# - value: In
# description: In
# - value: NotIn
# description: NotIn
# - value: Exists
# description: Exists
# - value: DoesNotExist
# description: DoesNotExist
# - variable: values
# label: Values
# schema:
# type: list
# default: []
# items:
# - variable: value
# label: ""
# schema:
# type: string
# - variable: ports
# label: Ports
# schema:
# type: list
# default: []
# items:
# - variable: portsEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: port
# label: Port
# schema:
# type: int
# - variable: endPort
# label: End Port
# schema:
# type: int
# - variable: protocol
# label: Protocol
# schema:
# type: string
# default: TCP
# enum:
# - value: TCP
# description: TCP
# - value: UDP
# description: UDP
# - value: SCTP
# description: SCTP
# - variable: ingress
# label: Ingress
# schema:
# type: list
# default: []
# items:
# - variable: ingressEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: from
# label: From
# schema:
# type: list
# default: []
# items:
# - variable: fromEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: ipBlock
# label: IP Block
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: cidr
# label: CIDR
# schema:
# type: string
# default: ""
# - variable: except
# label: Except
# schema:
# type: list
# default: []
# items:
# - variable: exceptint
# label: ""
# schema:
# type: string
# - variable: namespaceSelector
# label: Namespace Selector
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: matchExpressions
# label: Match Expressions
# schema:
# type: list
# default: []
# items:
# - variable: expressionEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: key
# label: Key
# schema:
# type: string
# - variable: operator
# label: Operator
# schema:
# type: string
# default: TCP
# enum:
# - value: In
# description: In
# - value: NotIn
# description: NotIn
# - value: Exists
# description: Exists
# - value: DoesNotExist
# description: DoesNotExist
# - variable: values
# label: Values
# schema:
# type: list
# default: []
# items:
# - variable: value
# label: ""
# schema:
# type: string
# - variable: podSelector
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: matchExpressions
# label: Match Expressions
# schema:
# type: list
# default: []
# items:
# - variable: expressionEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: key
# label: Key
# schema:
# type: string
# - variable: operator
# label: Operator
# schema:
# type: string
# default: TCP
# enum:
# - value: In
# description: In
# - value: NotIn
# description: NotIn
# - value: Exists
# description: Exists
# - value: DoesNotExist
# description: DoesNotExist
# - variable: values
# label: Values
# schema:
# type: list
# default: []
# items:
# - variable: value
# label: ""
# schema:
# type: string
# - variable: ports
# label: Ports
# schema:
# type: list
# default: []
# items:
# - variable: portsEntry
# label: ""
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: port
# label: Port
# schema:
# type: int
# - variable: endPort
# label: End Port
# schema:
# type: int
# - variable: protocol
# label: Protocol
# schema:
# type: string
# default: TCP
# enum:
# - value: TCP
# description: TCP
# - value: UDP
# description: UDP
# - value: SCTP
# description: SCTP
- variable: addons
group: Addons
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: vpn
label: VPN
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type
schema:
type: string
default: disabled
enum:
- value: disabled
description: disabled
- value: openvpn
description: OpenVPN
- value: wireguard
description: Wireguard
- value: tailscale
description: Tailscale
- variable: openvpn
label: OpenVPN Settings
schema:
type: dict
show_if: [["type", "=", "openvpn"]]
attrs:
- variable: username
label: Authentication Username (Optional)
description: Authentication Username, Optional
schema:
type: string
default: ""
- variable: password
label: Authentication Password
description: Authentication Credentials
schema:
type: string
default: ""
required: true
- variable: tailscale
label: Tailscale Settings
schema:
type: dict
show_if: [["type", "=", "tailscale"]]
attrs:
- variable: authkey
label: Authentication Key
description: Provide an auth key to automatically authenticate the node as your user account.
schema:
type: string
private: true
default: ""
- variable: accept_dns
label: Accept DNS
description: Accept DNS configuration from the admin console.
schema:
type: boolean
default: false
- variable: userspace
label: Userspace
description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
schema:
type: boolean
default: false
- variable: routes
label: Routes
description: Expose physical subnet routes to your entire Tailscale network.
schema:
type: string
default: ""
- variable: dest_ip
label: Destination IP
description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
schema:
type: string
default: ""
- variable: sock5_server
label: Sock5 Server
description: Sock5 Server
schema:
type: string
default: ""
- variable: extra_args
label: Extra Args
description: Extra Args
schema:
type: string
default: ""
- variable: daemon_extra_args
label: Tailscale Daemon Extra Args
description: Tailscale Daemon Extra Args
schema:
type: string
default: ""
- variable: killSwitch
label: Enable Killswitch
schema:
type: boolean
show_if: [["type", "!=", "disabled"]]
default: true
- variable: excludedNetworks_IPv4
label: Killswitch Excluded IPv4 networks
description: List of Killswitch Excluded IPv4 Addresses
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv4
label: IPv4 Network
schema:
type: string
required: true
- variable: excludedNetworks_IPv6
label: Killswitch Excluded IPv6 networks
description: "List of Killswitch Excluded IPv6 Addresses"
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv6
label: IPv6 Network
schema:
type: string
required: true
- variable: configFile
label: VPN Config File Location
schema:
type: dict
show_if: [["type", "!=", "disabled"]]
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Type
schema:
type: string
default: hostPath
hidden: true
- variable: hostPathType
label: hostPathType
schema:
type: string
default: File
hidden: true
- variable: noMount
label: noMount
schema:
type: boolean
default: true
hidden: true
- variable: hostPath
label: Full Path to File
description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
schema:
type: string
default: ""
- variable: envList
label: VPN 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
- 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: git
label: Git Settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: deployKey
description: Raw SSH Private Key
label: Deploy Key
schema:
type: string
- variable: deployKeyBase64
description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence
label: Deploy Key Base64
schema:
type: string
- variable: service
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Service Type
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: NodePort
enum:
- value: NodePort
description: NodePort
- value: ClusterIP
description: ClusterIP
- value: LoadBalancer
description: LoadBalancer
- variable: loadBalancerIP
label: LoadBalancer IP
description: LoadBalancerIP
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ports
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: codeserver
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: nodePort
description: Leave Empty to Disable
label: "nodePort"
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
- variable: promtail
label: Promtail
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: loki
label: Loki URL
schema:
type: string
required: true
- variable: logs
label: Log Paths
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: path
label: Path
schema:
type: string
required: true
- variable: args
label: Promtail Command Line Arguments
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: arg
label: Arg
schema:
type: string
required: true
- variable: envList
label: Promtail 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
- variable: netshoot
label: Netshoot
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: envList
label: Netshoot 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
- variable: docs
group: Documentation
label: Please read the documentation at https://truecharts.org
description: Please read the documentation at
<br /><a href="https://truecharts.org">https://truecharts.org</a>
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDocs
label: I have checked the documentation
schema:
type: boolean
default: true
- variable: donateNag
group: Documentation
label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor
description: Please consider supporting TrueCharts, see
<br /><a href="https://truecharts.org/sponsor">https://truecharts.org/sponsor</a>
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDonate
label: I have considered donating
schema:
type: boolean
default: true
hidden: true