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
description:Path inside the container the device is mounted
schema:
type:string
default:"/dev/ttyACM0"
- variable:cnpg
group:Postgresql
label:"CloudNative-PG (CNPG)"
schema:
additional_attrs:true
type:dict
attrs:
- variable:main
label:"Main Postgresql Database"
schema:
additional_attrs:true
type:dict
attrs:
- variable:hibernate
label:Hibernate
description:"enable to safely hibernate and shutdown the postgresql cluster"
schema:
type:boolean
default:false
- variable:mode
label:Mode
description: 'Cluster mode of operation. Available modes:standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster.# TODO.'
schema:
type:string
default:"standalone"
enum:
- value:standalone
description:standalone
- value:replica
description:replica
- value:recovery
description:recovery
- variable:pgVersion
label:Postgres Version
description:"Set the Postgresql version used"
schema:
type:int
default:16
required:true
- variable:password
label:Password
description:"Set the password for the database-user"
schema:
type:string
default:"PLACEHOLDERPASSWORD"
required:true
- variable:cluster
label:"Cluster Settings"
schema:
additional_attrs:true
type:dict
attrs:
- variable:instances
label:Instances
schema:
type:int
default:1
- variable:singleNode
label:singleNode
schema:
type:boolean
default:true
hidden:true
- variable:storage
label:"Storage"
schema:
additional_attrs:true
type:dict
attrs:
- variable:size
label:Size
schema:
type:string
default:"256Gi"
- variable:walStorage
label:"WAL Storage"
schema:
additional_attrs:true
type:dict
attrs:
- variable:size
label:Size
schema:
type:string
default:"256Gi"
- variable:monitoring
label:"Monitoring Settings"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enablePodMonitor
label:"enablePodMonitor"
schema:
type:boolean
default:true
- variable:disableDefaultQueries
label:"disableDefaultQueries"
schema:
type:boolean
default:false
- variable:pooler
label:"Pooler Settings"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:Enabled
schema:
type:boolean
default:false
- variable:instances
label:Instances
schema:
type:int
show_if:[["enabled","=",true]]
default:1
- variable:createRO
label:"Create ReadOnly Instance"
schema:
type:boolean
show_if:[["enabled","=",true]]
default:false
- variable:backups
label:"Backup Settings (Experimental)"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:false
- variable:revision
label:"revision"
schema:
type:string
default:""
- variable:retentionPolicy
label:"retentionPolicy"
schema:
type:string
show_if:[["enabled","=",true]]
default:"30d"
- variable:credentials
label:"Credentials"
description:"Name of the credentials in the credentials section"
schema:
type:string
show_if:[["enabled","=",true]]
default:""
required:true
- variable:recovery
label:"Recovery Settings (Experimental)"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:false
- variable:serverName
label:"serverName"
schema:
type:string
default:""
- variable:revision
label:"revision"
schema:
type:string
default:""
- variable:method
label:"method"
schema:
type:string
show_if:[["enabled","=",true]]
default:"object_store"
- variable:backupName
label:"backupName"
schema:
type:string
show_if:[["enabled","=",true]]
default:""
- variable:credentials
label:"Credentials"
description:"Name of the credentials in the credentials section"
schema:
type:string
show_if:[["enabled","=",true]]
default:""
required:true
# - variable: horizontalPodAutoscaler
# group: Experimental
# label: (Advanced) Horizontal Pod Autoscaler
# schema:
# type: list
# default: []
# items:
# - variable: hpaEntry
# label: HPA Entry
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: name
# label: Name
# schema:
# type: string
# required: true
# default: ""
# - 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:Experimental
label:(Advanced) Network Policy
schema:
type:list
default:[]
items:
- variable:netPolicyEntry
label:Network Policy Entry
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:Name
schema:
type:string
required:true
default:""
- 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: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:service
label:""
schema:
additional_attrs:true
type:dict
attrs:
- 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:NodePort
description:Deprecated CHANGE THIS
- value:ClusterIP
description:ClusterIP
- value:LoadBalancer
description:LoadBalancer
- 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:""
schema:
additional_attrs:true
type:dict
attrs:
- variable:codeserver
label:""
schema:
additional_attrs:true
type:dict
attrs:
- variable:port
label:Port
schema:
type:int
default:36107
- variable:ingress
label:"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:[{path:"/", pathType:"Prefix"}]
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:integrations
label:Integrations
description:Connect ingress with other charts
schema:
additional_attrs:true
type:dict
attrs:
- variable:traefik
label:Traefik
description:Connect ingress with Traefik
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:enabled
schema:
type:boolean
default:true
- variable:allowCors
label:'Allow Cross Origin Requests (advanced)'
schema:
type:boolean
default:false
show_if:[["enabled","=",true]]
- variable:entrypoints
label:Entrypoints
schema:
type:list
default:["websecure"]
show_if:[["enabled","=",true]]
items:
- variable:entrypoint
label:Entrypoint
schema:
type:string
- variable:middlewares
label:Middlewares
schema:
type:list
default:[]
show_if:[["enabled","=",true]]
items:
- variable:middleware
label:Middleware
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:name
schema:
type:string
default:""
required:true
- variable:namespace
label:'namespace (optional)'
schema:
type:string
default:""
- variable:certManager
label:certManager
description:Connect ingress with certManager
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:enabled
schema:
type:boolean
default:false
- variable:certificateIssuer
label:certificateIssuer
description:defaults to chartname
schema:
type:string
default:""
show_if:[["enabled","=",true]]
- variable:advanced
label:Show Advanced Settings
description:Advanced settings are not covered by TrueCharts Support
schema:
type:boolean
default:false
- variable:ingressClassName
label:(Advanced/Optional) IngressClass Name
schema:
type:string
show_if:[["advanced","=",true]]
default:""
- variable:tls
label:TLS-Settings
schema:
type:list
show_if:[["advanced","=",true]]
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:certificateIssuer
label:Use Cert-Manager clusterIssuer
description:'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
schema:
type:string
default:""
- variable:clusterCertificate
label:'Cluster Certificate (Advanced)'
description:'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'