catalog/stable/snipe-it/2.0.13/questions.yaml

3240 lines
132 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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"
portals:
open:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
questions:
- variable: portal
group: "Container Image"
label: "Configure Portal Button"
schema:
type: dict
hidden: true
attrs:
- variable: enabled
label: "Enable"
description: "enable the portal button"
schema:
hidden: true
editable: false
type: boolean
default: true
- 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
default: "deployment"
required: true
enum:
- value: "deployment"
description: "Deployment"
- value: "statefulset"
description: "Statefulset"
- value: "daemonset"
description: "Daemonset"
- variable: replicas
description: "Number of desired pod replicas"
label: "Desired Replicas"
schema:
type: int
default: 1
required: true
- variable: strategy
description: "Please specify type of workload to deploy"
label: "(Advanced) Update Strategy"
schema:
type: string
default: "Recreate"
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"
- variable: expert
label: "Show Expert Configuration Options"
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: 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: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: APP_URL
label: "APP_URL"
description: "This is the url to your application, beginning with http:// or https:// (if you're running Snipe-IT over SSL). This should not have a trailing slash."
schema:
type: string
default: ""
required: true
- variable: APP_TRUSTED_PROXIES
label: "APP_TRUSTED_PROXIES"
description: "APP_TRUSTED_PROXIES"
schema:
type: string
default: "172.16.0.0/16"
required: true
- variable: APP_LOCALE
label: "APP_LOCALE"
description: "Set this to reflect the two-letter or 5-letter abbreviation for the language you'd like to use for Snipe-IT"
schema:
type: string
default: "en"
required: true
enum:
- value: "en"
description: "English (US)"
- value: "en-GB"
description: "English (UK)"
- value: "af"
description: "Afrikaans"
- value: "ar"
description: "Arabic"
- value: "bg"
description: "Bulgarian"
- value: "zh-CN"
description: "Chinese Simplified"
- value: "zh-TW"
description: "Chinese Traditional"
- value: "hr"
description: "Croatian"
- value: "cs"
description: "Czech"
- value: "da"
description: "Danish"
- value: "nl"
description: "Dutch"
- value: "et"
description: "Estonian"
- value: "fi"
description: "Finnish"
- value: "fr"
description: "French"
- value: "de"
description: "German"
- value: "el"
description: "Greek"
- value: "he"
description: "Hebrew"
- value: "hu"
description: "Hungarian"
- value: "id"
description: "Indonesian"
- value: "en-ID"
description: "English, Indonesia"
- value: "ga-IE"
description: "Irish"
- value: "it"
description: "Italian"
- value: "ja"
description: "Japanese"
- value: "ko"
description: "Korean"
- value: "lv"
description: "Latvian"
- value: "lt"
description: "Lithuanian"
- value: "ms"
description: "Malay"
- value: "mi"
description: "Maori"
- value: "mn"
description: "Mongolian"
- value: "no"
description: "Norwegian"
- value: "fa"
description: "Persian"
- value: "pl"
description: "Polish"
- value: "pt-PT"
description: "Portuguese"
- value: "pt-BR"
description: "Portuguese, Brazilian"
- value: "ro"
description: "Romanian"
- value: "ru"
description: "Russian"
- value: "es-ES"
description: "Spanish"
- value: "es-CO"
description: "Spanish, Colombia"
- value: "sv-SE"
description: "Swedish"
- value: "ta"
description: "Tamil"
- value: "tr"
description: "Turkish"
- value: "vi"
description: "Vietnamese"
- value: "zu"
description: "Zulu"
- variable: IMAGE_LIB
label: "IMAGE_LIB"
description: "GD Library or Imagemagick are required to generate barcodes for Snipe-IT"
schema:
type: string
default: "gd"
required: true
enum:
- value: "gd"
description: "GD Library"
- value: "imagick"
description: "ImageMagick"
- variable: sessionsettings
label: "Session Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: SESSION_LIFETIME
label: "SESSION_LIFETIME"
description: "Specify the time in minutes that the session should remain valid."
schema:
type: int
default: 30
required: true
- variable: EXPIRE_ON_CLOSE
label: "EXPIRE_ON_CLOSE"
description: "Specify whether or not the logged in session should be expired when the user closes their browser window."
schema:
type: boolean
default: false
- variable: ENCRYPT
label: "ENCRYPT"
description: "Specify whether you wish to use encrypted cookies for your Snipe-IT sessions."
schema:
type: boolean
default: false
- variable: COOKIE_NAME
label: "COOKIE_NAME"
description: "If you are running multiple Snipe-IT installs, you should probably set this to a unique name for each one so that your browser doesn't get sessions confused."
schema:
type: string
default: "snipeit_session"
required: true
- variable: COOKIE_DOMAIN
label: "COOKIE_DOMAIN"
description: "Specify what domain name Snipe-IT should honor cookies from.should be set to whatever the domain name is of your Snipe-IT installation if you choose to use it."
schema:
type: string
default: ""
- variable: SECURE_COOKIES
label: "SECURE_COOKIES"
description: "By setting this option to true, session cookies will only be sent back to the server if the browser has a HTTPS connection."
schema:
type: boolean
default: false
- variable: API_TOKEN_EXPIRATION_YEARS
label: "API_TOKEN_EXPIRATION_YEARS"
description: "This sets how long the API tokens should be valid for."
schema:
type: int
default: 40
required: true
- variable: loginsettings
label: "Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: LOGIN_MAX_ATTEMPTS
label: "LOGIN_MAX_ATTEMPTS"
description: "The maximum number of failed attempts allowed before the user is throttled."
schema:
type: int
default: 5
required: true
- variable: LOGIN_LOCKOUT_DURATION
label: "LOGIN_LOCKOUT_DURATION"
description: " The duration (in seconds) that the user should be blocked from attempting to authenticate again."
schema:
type: int
default: 60
required: true
- variable: miscsettings
label: "Misc Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: ALLOW_IFRAMING
label: "ALLOW_IFRAMING"
description: "Set this to true if you need to run Snipe-IT within an iframe."
schema:
type: boolean
default: false
- variable: APP_ALLOW_INSECURE_HOSTS
label: "APP_ALLOW_INSECURE_HOSTS"
description: "Set this to this to true ONLY if you if you cant make your APP_URL match the actual URL of your application, and your hosting environment is secure and not accessible to the outside world."
schema:
type: boolean
default: false
- variable: GOOGLE_MAPS_API
label: "GOOGLE_MAPS_API"
description: "Include your Google Maps API key here if you'd like Snipe-IT to load maps from Google on your locations and suppliers pages."
schema:
type: string
default: ""
- variable: LDAP_MEM_LIM
label: "LDAP_MEM_LIM"
description: "Memory limit for LDAP execution"
schema:
type: string
default: "500M"
required: true
- variable: LDAP_TIME_LIM
label: "LDAP_TIME_LIM"
description: "Time limit for LDAP execution"
schema:
type: int
default: 600
required: true
- variable: API_THROTTLE_PER_MINUTE
label: "API_THROTTLE_PER_MINUTE"
description: "Number of requests to allow per minute."
schema:
type: int
default: 120
required: true
- variable: ENABLE_HSTS
label: "ENABLE_HSTS"
description: "HSTS is a web security policy mechanism that helps to protect websites against man-in-the-middle attacks such as protocol downgrade attacks and cookie hijacking."
schema:
type: boolean
default: false
- variable: ENABLE_CSP
label: "ENABLE_CSP"
description: "Disable the content security policy that restricts what scripts, images and styles can load."
schema:
type: boolean
default: false
- variable: CORS_ALLOWED_ORIGINS
label: "CORS_ALLOWED_ORIGINS"
schema:
type: string
default: "null"
- variable: REFERRER_POLICY
label: "REFERRER_POLICY"
description: "This is an additional security header that browsers use to determine whether they should report back URL referrer information."
schema:
type: string
default: "same-origin"
- variable: mailsettings
label: "Mail Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: MAIL_DRIVER
label: "MAIL_DRIVER"
description: "Specify the driver you would like to use."
schema:
type: string
default: "log"
enum:
- value: "log"
description: "log"
- value: "smtp"
description: "smtp"
- value: "mail"
description: "mail"
- value: "sendmail"
description: "sendmail"
- variable: MAIL_HOST
label: "MAIL_HOST"
description: "Specify the hostname for your outgoing mail server. Keep in mind that this server must be accessible from the server you're running Snipe-IT on."
schema:
type: string
default: ""
- variable: MAIL_PORT
label: "MAIL_PORT"
description: "Set the port number that your mail server expects to send from."
schema:
type: int
default: 587
- variable: MAIL_USERNAME
label: "MAIL_USERNAME"
description: "Set the username of the authenticated user you'll be sending email as."
schema:
type: string
default: ""
- variable: MAIL_PASSWORD
label: "MAIL_PASSWORD"
description: "Set the password for the authenticated user you'll be sending as."
schema:
type: string
default: ""
private: true
- variable: MAIL_ENCRYPTION
label: "MAIL_ENCRYPTION"
description: "Here you may specify the encryption protocol that should be used when the application sends e-mail messages."
schema:
type: string
default: "null"
enum:
- value: "null"
description: "null"
- value: "tls"
description: "tls"
- value: "ssl"
description: "ssl"
- variable: MAIL_FROM_ADDR
label: "MAIL_FROM_ADDR"
description: "Specify an email address that is used globally for all e-mails that are sent by your application."
schema:
type: string
default: ""
- variable: MAIL_FROM_NAME
label: "MAIL_FROM_NAME"
description: "Specify the name that should show up in the recipient's inbox when they receive email from your Snipe-IT instance."
schema:
type: string
default: ""
- variable: MAIL_REPLYTO_ADDR
label: "MAIL_REPLYTO_ADDR"
description: " Specify the address that should be the reply:to on emails from your Snipe-IT instance. This can be the same as your MAIL_FROM_ADDR, but it is required."
schema:
type: string
default: ""
- variable: MAIL_REPLYTO_NAME
label: "MAIL_REPLYTO_NAME"
description: "Specify the name that should be the reply:to on emails from your Snipe-IT instance. This can be the same as your MAIL_FROM_NAME , but it is required."
schema:
type: string
default: ""
- variable: MAIL_AUTO_EMBED
label: "MAIL_AUTO_EMBED"
description: "Whether or not to embed images in emails (via CID or base64) versus linking to them."
schema:
type: boolean
default: true
- variable: MAIL_AUTO_EMBED_METHOD
label: "MAIL_AUTO_EMBED_METHOD"
description: "Method that should be used for attaching inline images. Options are attachment (for CID) or base64."
schema:
type: string
default: "base64"
enum:
- value: "base64"
description: "base64"
- value: "attachment"
description: "attachment"
- variable: publicawssettings
label: "Public AWS S3 Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: PUBLIC_AWS_SECRET_ACCESS_KEY
label: "PUBLIC_AWS_SECRET_ACCESS_KEY"
schema:
type: string
default: ""
private: true
- variable: PUBLIC_AWS_ACCESS_KEY_ID
label: "PUBLIC_AWS_ACCESS_KEY_ID"
schema:
type: string
default: ""
private: true
- variable: PUBLIC_AWS_DEFAULT_REGION
label: "PUBLIC_AWS_DEFAULT_REGION"
schema:
type: string
default: ""
- variable: PUBLIC_AWS_BUCKET
label: "PUBLIC_AWS_BUCKET"
schema:
type: string
default: ""
- variable: PUBLIC_AWS_URL
label: "PUBLIC_AWS_URL"
schema:
type: string
default: ""
- variable: PUBLIC_AWS_BUCKET_ROOT
label: "PUBLIC_AWS_BUCKET_ROOT"
schema:
type: string
default: ""
- variable: privateawssettings
label: "Private AWS S3 Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: PRIVATE_AWS_SECRET_ACCESS_KEY
label: "PRIVATE_AWS_SECRET_ACCESS_KEY"
schema:
type: string
default: ""
private: true
- variable: PRIVATE_AWS_ACCESS_KEY_ID
label: "PRIVATE_AWS_ACCESS_KEY_ID"
schema:
type: string
default: ""
private: true
- variable: PRIVATE_AWS_DEFAULT_REGION
label: "PRIVATE_AWS_DEFAULT_REGION"
schema:
type: string
default: ""
- variable: PRIVATE_AWS_BUCKET
label: "PRIVATE_AWS_BUCKET"
schema:
type: string
default: ""
- variable: PRIVATE_AWS_URL
label: "PRIVATE_AWS_URL"
schema:
type: string
default: ""
- variable: PRIVATE_AWS_BUCKET_ROOT
label: "PRIVATE_AWS_BUCKET_ROOT"
schema:
type: string
default: ""
- variable: loggingsettings
label: "Logging Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: LOG
label: "LOG"
description: "Whether to use a single log file, or multiple date-based log files for your app error logs."
schema:
type: string
default: "daily"
required: true
enum:
- value: "single"
description: "Single File"
- value: "daily"
description: "Daily Files"
- variable: APP_LOG_MAX_FILES
label: "APP_LOG_MAX_FILES"
description: "Max number of daily app log files to retain."
schema:
type: int
default: 10
required: true
- variable: APP_DEBUG
label: "APP_DEBUG"
description: "Enables App Debug."
schema:
type: boolean
default: false
- variable: APP_LOG_LEVEL
label: "APP_LOG_LEVEL"
description: "Laravel will log all levels greater than or equal to the specified severity."
schema:
type: string
default: "error"
required: true
enum:
- value: "debug"
description: "debug"
- value: "info"
description: "info"
- value: "notice"
description: "notice"
- value: "warning"
description: "warning"
- value: "error"
description: "error"
- value: "critical"
description: "critical"
- value: "alert"
description: "alert"
- value: "emergency"
description: "emergency"
- variable: TZ
label: "Timezone"
group: "Container Configuration"
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- variable: envList
label: "Image environment"
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 Config"
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: 10120
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
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: 80
- 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: "Nameservers"
schema:
default: []
type: list
items:
- variable: nameserver
label: "Nameserver"
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: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
- 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: "readOnly"
schema:
type: boolean
default: false
- variable: hostPathSimple
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- variable: hostPath
label: "hostPath"
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: logs
label: "App Logs Storage"
description: "Stores the Application Logs."
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: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
- 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: "readOnly"
schema:
type: boolean
default: false
- variable: hostPathSimple
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- variable: hostPath
label: "hostPath"
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: backups
label: "App Backups Storage"
description: "Stores the Application Backups."
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: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
- 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: "readOnly"
schema:
type: boolean
default: false
- variable: hostPathSimple
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- variable: hostPath
label: "hostPath"
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: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
- 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: "readOnly"
schema:
type: boolean
default: false
- variable: hostPathSimple
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- variable: hostPath
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: mountPath
label: "mountPath"
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) 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: 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: "pathType"
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: "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
- 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 tha 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: 1000
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 50
- 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/manual/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/manual/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/manual/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/manual/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: "ipBlock"
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: int
- variable: namespaceSelector
label: "namespaceSelector"
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: "matchExpressions"
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: "matchExpressions"
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: "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: "ipBlock"
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: int
- variable: namespaceSelector
label: "namespaceSelector"
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: "matchExpressions"
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: "matchExpressions"
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: "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"
- variable: openvpn
label: "OpenVPN Settings"
schema:
type: dict
show_if: [["type", "=", "openvpn"]]
attrs:
- variable: username
label: "authentication username"
description: "authentication username, optional"
schema:
type: string
default: ""
- variable: password
label: "authentication password"
description: "authentication credentials"
schema:
type: string
default: ""
required: true
- 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 ipv4 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: ""
required: true
- 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: "deployKey"
schema:
type: string
- variable: deployKeyBase64
description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
label: "deployKeyBase64"
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 ecommand 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