It's wise to use "digest pinned" tags and to avoid using "latest".
Checkout the following documentation for more information:
- https://truecharts.org/common/#images
- name:General
description:|
For TrueNAS SCALE We've grouped a number of settings here, that all effact how apps run in general.
Checkout the following documentation for more information:
- https://truecharts.org/common/global/
- https://truecharts.org/common/#tz
- https://truecharts.org/common/podoptions/
- Image Pull Secrets
- name:Workload
description:|
These settings configure how the actual Pods and containers are running.
Generally, on SCALE, we only expose a limited subset of these settings for the primary workload and container.
Checkout the following documentation for more information:
- https://truecharts.org/common/workload/
- https://truecharts.org/common/container/
- name:App Configuration
description:|
Every application has different values that may be required to run or have multiple options that the user may choose to enable or disable to change the behavior of the application.
Most options should have a Tooltip (Circled Question Mark) to further describe said option.
To find more information, lookup your chart-specific documentation in the Charts List:https://truecharts.org/charts/description-list/
- name:Services
description:|
Service and Networking options for any applications are contained here.
Some applications may have complicated networking setups with multiple options or some may have no options here at all.
Options here include the service and port configurations for the application, and more may be enabled or changed under the Advanced Settings and Show Expert Config boxes.
Checkout the following documentation for more information:
- https://truecharts.org/common/service/
- name:Networking
description:|
Contains advanced networking options that are not actively supported by the TrueCharts team.
Currently only contains scaleExternalInterfaces.
Checkout the following documentation for more information:
Many applications will have certain options for storage to be configurable by the user, the main two being PVC and hostpath but may include other types.
This storage is called Persistence since it is not deleted upon restart or upgrade of an application.
Checkout the following documentation for more information:
Ingress (more commonly known as Reverse Proxy) settings can be configured here. This is how Kubernetes connects your Applications in containers to FQDNs (fully qualified domain names).
If you choose to enable this you must have a "Ingress Provider" aka "Reverse Proxy" installed (We highly advice Traefik: https://truecharts.org/charts/premium/traefik/)
It also requiresa DNS service to actually resolve the DNS name of the FQDN specified.
Checkout the following documentation for more information:
- https://truecharts.org/common/ingress/
- name:SecurityContext
description:|
The security settings for each application and/or permissions that each application may have for the files/directories created.
Each application will come with predefined permissions but users may want to change certain setting depending on their usage or capabilities.
Unless necessary users are advised to keep this section mostly to defaults.
Checkout the following documentation for more information:
- https://truecharts.org/common/securitycontext/
- name:Resources
description:|
Resources limits that have been defined by each application are in this section.
Most will have a specific default that some users may want to change based on their specific hardware or needs.
This also contains the options to mount GPUs or, more precisely, "request" GPU's to be mounted.
Checkout the following documentation for more information:
- https://truecharts.org/common/resources/
- name:Devices
description:|
These are special "mountpoints" that can be used to mount miscelanious USB and PCI devices using special hostPath mounts.
For clearity we've decided to seperate this from persistence on SCALE.
Checkout the following documentation for more information:
description:"Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
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:extraArgs
label:Extra Args
schema:
type:list
default:[]
items:
- variable:arg
label:Arg
schema:
type:string
- variable:advanced
label:Show Advanced Settings
description:Advanced settings are not covered by TrueCharts Support
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:command
label:Command
schema:
type:list
default:[]
items:
- variable:param
label:Param
schema:
type:string
- variable:TZ
label:Timezone
group:"General"
schema:
type:string
default:"Etc/UTC"
$ref:
- "definitions/timezone"
- variable:podOptions
group:"General"
label:"Global Pod Options (Advanced)"
schema:
additional_attrs:true
type:dict
attrs:
- variable:expertPodOpts
label:"Expert - Pod Options"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:hostNetwork
label:"Host Networking"
schema:
type:boolean
default:false
- variable:dnsConfig
label:"DNS Configuration"
schema:
type:dict
additional_attrs:true
attrs:
- variable:options
label:"Options"
schema:
type:list
default:[{"name": "ndots", "value": "1"}]
items:
- variable:optionsEntry
label:"Option Entry"
schema:
type:dict
additional_attrs:true
attrs:
- variable:name
label:"Name"
schema:
type:string
required:true
- variable:value
label:"Value"
schema:
type:string
- variable:nameservers
label:"Nameservers"
schema:
type:list
default:[]
items:
- variable:nsEntry
label:"Nameserver Entry"
schema:
type:string
required:true
- variable:searches
label:"Searches"
schema:
type:list
default:[]
items:
- variable:searchEntry
label:"Search Entry"
schema:
type:string
required:true
- variable:imagePullSecretList
group:"General"
label:"Image Pull Secrets"
schema:
type:list
default:[]
items:
- variable:pullsecretentry
label:"Pull Secret"
schema:
type:dict
additional_attrs:true
attrs:
- variable:enabled
label:Enabled
schema:
type:boolean
default:true
- variable:data
label:Data
schema:
type:dict
additional_attrs:true
attrs:
- variable:registry
label:"Registry"
schema:
type:string
required:true
default:"https://index.docker.io/v1/"
- variable:username
label:"Username"
schema:
type:string
required:true
default:""
- variable:password
label:"Password"
schema:
type:string
required:true
private:true
default:""
- variable:email
label:"Email"
schema:
type:string
required:true
default:""
- variable:service
group:Services
label:Configure Service(s)
schema:
additional_attrs:true
type:dict
attrs:
- variable:main
label:main Service
description:The main service
schema:
type:dict
hidden:true
attrs:
- variable:enabled
label:Enable the service
schema:
type:boolean
default:false
hidden:true
- variable:smtp
label:SMTP Service
description:The smtp service
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 and Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:LoadBalancer
enum:
- value:LoadBalancer
description:LoadBalancer (Expose Ports)
- value:ClusterIP
description:ClusterIP (Do Not Expose Ports)
- variable:loadBalancerIP
label:LoadBalancer IP
description:"MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:ports
label:"Service's Port(s) Configuration"
schema:
additional_attrs:true
type:dict
attrs:
- variable:smtp
label:SMTP 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:25
required:true
- variable:imap
label:IMAP Service
description:The IMAP service
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 and Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:LoadBalancer
enum:
- value:LoadBalancer
description:LoadBalancer (Expose Ports)
- value:ClusterIP
description:ClusterIP (Do Not Expose Ports)
- variable:loadBalancerIP
label:LoadBalancer IP
description:"MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:ports
label:"Service's Port(s) Configuration"
schema:
additional_attrs:true
type:dict
attrs:
- variable:imap
label:IMAP 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:143
required:true
- variable:scaleExternalInterface
description:'Add External Interfaces (Experimental, might change or be removed without further notice)'
label:Add external Interfaces (Experimental)
group:Networking
schema:
type:list
items:
- variable:interfaceConfiguration
description:Interface Configuration
label:Interface Configuration
schema:
additional_attrs:true
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:
additional_attrs:true
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
- variable:staticIPConfigurations
label:Static IP Addresses
schema:
type:list
show_if:[["type","=","static"]]
items:
- variable:staticIP
label:Static IP
schema:
type:ipaddr
cidr:true
- variable:staticRoutes
label:Static Routes
schema:
type:list
show_if:[["type","=","static"]]
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:serviceList
label:Add Manual Custom Services
group: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 and Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:LoadBalancer
enum:
- value:LoadBalancer
description:LoadBalancer (Expose Ports)
- value:ClusterIP
description:ClusterIP (Do Not Expose Ports)
- value:Simple
description:Deprecated CHANGE THIS
- variable:loadBalancerIP
label:LoadBalancer IP
description:"MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:advancedsvcset
label:Show Advanced Service Settings
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:externalIPs
label:"External IP's"
description:"External IP's"
schema:
type:list
default:[]
items:
- variable:externalIP
label:External IP
schema:
type:string
- variable:ipFamilyPolicy
label:IP Family Policy
description:Specify the IP Policy
schema:
type:string
default:SingleStack
enum:
- value:SingleStack
description:SingleStack
- value:PreferDualStack
description:PreferDualStack
- value:RequireDualStack
description:RequireDualStack
- variable:ipFamilies
label:IP Families
description:(Advanced) The IP Families that should be used
schema:
type:list
default:[]
items:
- variable:ipFamily
label:IP Family
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:persistence
label:Integrated Persistent Storage
description:Integrated Persistent Storage
group:Persistence
schema:
additional_attrs:true
type:dict
attrs:
- variable:config
label:App Config Storage
description:Stores the Application Configuration.
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:pvc
enum:
- value:pvc
description:PVC
- value:hostPath
description:Host Path
- value:emptyDir
description:emptyDir
- value:nfs
description:NFS Share
- value:iscsi
description:iSCSI 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:iscsi
label:iSCSI Options
schema:
show_if:[["type","=","iscsi"]]
type:dict
additional_attrs:true
attrs:
- variable:targetPortal
label:targetPortal
schema:
type:string
required:true
default:""
- variable:iqn
label:iqn
schema:
type:string
required:true
default:""
- variable:lun
label:lun
schema:
type:int
default:0
- variable:authSession
label:authSession
schema:
type:dict
additional_attrs:true
attrs:
- variable:username
label:username
schema:
type:string
default:""
- variable:password
label:password
schema:
type:string
default:""
- variable:usernameInitiator
label:usernameInitiator
schema:
type:string
default:""
- variable:passwordInitiator
label:passwordInitiator
schema:
type:string
default:""
- variable:authDiscovery
label:authDiscovery
schema:
type:dict
additional_attrs:true
attrs:
- variable:username
label:username
schema:
type:string
default:""
- variable:password
label:password
schema:
type:string
default:""
- variable:usernameInitiator
label:usernameInitiator
schema:
type:string
default:""
- variable:passwordInitiator
label:passwordInitiator
schema:
type:string
default:""
- variable:autoPermissions
label:Automatic Permissions Configuration
description:Automatically set permissions
schema:
show_if:[["type","!=","pvc"]]
type:dict
additional_attrs:true
attrs:
- variable:enabled
label:enabled
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:chown
label:Run CHOWN
description:|
It will run CHOWN on the path with the given fsGroup
schema:
type:boolean
default:false
- variable:chmod
label:Run CHMOD
description:|
It will run CHMOD on the path with the given value</br>
Format should be 3 digits, e.g. 770
schema:
type:string
valid_chars:'[0-9]{3}'
default:""
- variable:recursive
label:Recursive
description:|
It will run CHOWN and CHMOD recursively
schema:
type:boolean
default:false
- variable:readOnly
label:Read Only
schema:
type:boolean
default:false
- 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 (Do NOT REDUCE after installation)
description:This value can ONLY be INCREASED after the installation
schema:
show_if:[["type","=","pvc"]]
type:string
default:256Gi
- variable:storageClass
label:'storageClass (Advanced)'
description:'sets the storageClass to something other than iX default. Only for advanced usecases!'
schema:
show_if:[["type","=","pvc"]]
type:string
default:""
- variable:volsync
label:'VolSync (Experimental)'
description:Backup, Restore and Synchronise PVC storage
schema:
show_if:[["type","=","pvc"]]
type:list
default:[]
items:
- variable:VolSyncEntry
label:VolSync Configuration
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:Name
description:"Name of backup configuration"
schema:
type:string
default:""
required:true
- variable:type
label:Type VolSync/Backup
description:Sets the VolSync Type
schema:
type:string
default:"restic"
enum:
- value:restic
description:Restic
- variable:credentials
label:Credentials
description:"Name of credentials in the credentials section"
schema:
type:string
default:""
required:true
- variable:dest
label:VolSync Destination (Restore)
description:VolSYnc Destination is the location where data is the reciever and configures recovery of backups
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:Enable
schema:
type:boolean
default:true
- variable:src
label:VolSync Source (Backup)
description:VolSYnc Source is the location where data is the sender and creates backups to storage
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:Enable
schema:
type:boolean
default:true
- variable:static
label:'Static Fixed PVC Bindings (Experimental)'
description:Link a PVC to a specific storage location
schema:
show_if:[["type","=","pvc"]]
type:dict
additional_attrs:true
attrs:
- variable:mode
label:mode
description:|
disabled:use normal dynamic PVCs
smb:connect to an SMB share
nfs:connect to an NFS share
schema:
type:string
default:"disabled"
enum:
- value:disabled
description:disabled
- value:smb
description:smb
- value:nfs
description:nfs
- variable:server
label:Server
description:server to connect to
schema:
type:string
show_if:[["mode","!=","disabled"]]
default:"myserver"
- variable:share
label:Share
description:share to connect to
schema:
type:string
show_if:[["mode","!=","disabled"]]
default:"/myshare"
- variable:user
label:User
description:connecting user
schema:
type:string
show_if:[["mode","=","smb"]]
default:"myuser"
- variable:domain
label:Domain
description:user domain
schema:
type:string
show_if:[["mode","=","smb"]]
default:""
- variable:password
label:Password
description:connecting password
schema:
type:string
show_if:[["mode","=","smb"]]
default:""
- variable:volumeSnapshots
label:'Volume Snapshots (Experimental)'
description:Add an entry to the list to force creation of a volumeSnapshot of this PVC
schema:
show_if:[["type","=","pvc"]]
type:list
default:[]
items:
- variable:volumeSnapshotEntry
label:Custom volumeSnapshot
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:Name
description: 'WARNING:renaming this, means deletion of the snapshot with the old name!'
schema:
type:string
default:"mysnapshot"
required:true
- variable:volumeSnapshotClassName
label:'volumeSnapshot Class Name (Advanced)'
description:For use with PVCs using a non-default storageClass
schema:
type:string
default:""
- variable:persistenceList
label:Additional App Storage
group: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:type
label:Type of Storage
description:Sets the persistence type, Anything other than PVC could break rollback!
schema:
type:string
default:hostPath
enum:
- value:pvc
description:PVC
- value:hostPath
description:Host Path
- value:emptyDir
description:emptyDir
- 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:iscsi
label:iSCSI Options
schema:
show_if:[["type","=","iscsi"]]
type:dict
additional_attrs:true
attrs:
- variable:targetPortal
label:targetPortal
schema:
type:string
required:true
default:""
- variable:iqn
label:iqn
schema:
type:string
required:true
default:""
- variable:lun
label:lun
schema:
type:int
default:0
- variable:authSession
label:authSession
schema:
type:dict
additional_attrs:true
attrs:
- variable:username
label:username
schema:
type:string
default:""
- variable:password
label:password
schema:
type:string
default:""
- variable:usernameInitiator
label:usernameInitiator
schema:
type:string
default:""
- variable:passwordInitiator
label:passwordInitiator
schema:
type:string
default:""
- variable:authDiscovery
label:authDiscovery
schema:
type:dict
additional_attrs:true
attrs:
- variable:username
label:username
schema:
type:string
default:""
- variable:password
label:password
schema:
type:string
default:""
- variable:usernameInitiator
label:usernameInitiator
schema:
type:string
default:""
- variable:passwordInitiator
label:passwordInitiator
schema:
type:string
default:""
- variable:autoPermissions
label:Automatic Permissions Configuration
description:Automatically set permissions
schema:
show_if:[["type","!=","pvc"]]
type:dict
additional_attrs:true
attrs:
- variable:enabled
label:enabled
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:chown
label:Run CHOWN
description:|
It will run CHOWN on the path with the given fsGroup
schema:
type:boolean
default:false
- variable:chmod
label:Run CHMOD
description:|
It will run CHMOD on the path with the given value</br>
Format should be 3 digits, e.g. 770
schema:
type:string
valid_chars:'[0-9]{3}'
default:""
- variable:recursive
label:Recursive
description:|
It will run CHOWN and CHMOD recursively
schema:
type:boolean
default:false
- variable:readOnly
label:Read Only
schema:
type:boolean
default:false
- 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