description:"The Primary service on which the healthcheck runs, often the webUI"
schema:
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:"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:"Service's Port(s) Configuration"
schema:
type:dict
attrs:
- variable:main
label:"Main Service Port Configuration"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the port"
schema:
type:boolean
default:true
hidden: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:targetPort
label:"Target Port"
description:"This port exposes the container port on the service"
schema:
type:int
default:9001
editable:false
hidden:true
- variable:port
label:"Container Port"
schema:
type:int
default:9001
editable:true
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
default:36156
- 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: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:
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:
type:string
- variable:searches
label:"Searches"
schema:
default:[]
type:list
items:
- variable:search
label:"Search Entry"
schema:
type:string
# Include{serviceList}
- variable:persistence
label:"Integrated Persistent Storage"
description:"Integrated Persistent Storage"
group:"Storage and Persistence"
schema:
type:dict
attrs:
- variable:data
label:"App Data Storage"
description:"Stores the Application Data."
schema:
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:"pvc"
enum:
- value:"pvc"
description:"pvc"
- value:"emptyDir"
description:"emptyDir"
- value:"hostPath"
description:"hostPath"
- variable:storageClass
label:"(Advanced) storageClass"
description:" Warning: Anything other than SCALE-ZFS will break rollback!"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"SCALE-ZFS"
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
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:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- 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:hostPath
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","hostPath"]]
type:hostpath
- variable:hostPathType
label:"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:mountPath
label:"mountPath"
description:"Path inside the container the storage is mounted"
schema:
type:string
default:"/opt/etherpad-lite/var"
hidden:true
- variable:medium
label:"EmptyDir Medium"
schema:
show_if:[["type","=","emptyDir"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"Memory"
description:"Memory"
- variable:accessMode
label:"Access Mode (Advanced)"
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:size
label:"Size quotum of storage"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"100Gi"
- variable:app
label:"App Storage"
description:"Stores the Application."
schema:
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:"pvc"
enum:
- value:"pvc"
description:"pvc"
- value:"emptyDir"
description:"emptyDir"
- value:"hostPath"
description:"hostPath"
- variable:storageClass
label:"(Advanced) storageClass"
description:" Warning: Anything other than SCALE-ZFS will break rollback!"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"SCALE-ZFS"
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
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:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- 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:hostPath
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","hostPath"]]
type:hostpath
- variable:hostPathType
label:"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:mountPath
label:"mountPath"
description:"Path inside the container the storage is mounted"
schema:
type:string
default:"/opt/etherpad-lite/app"
hidden:true
- variable:medium
label:"EmptyDir Medium"
schema:
show_if:[["type","=","emptyDir"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"Memory"
description:"Memory"
- variable:accessMode
label:"Access Mode (Advanced)"
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:size
label:"Size quotum of storage"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"100Gi"
# Include{persistenceList}
- variable:ingress
label:""
group:"Ingress"
schema:
type:dict
attrs:
- variable:main
label:"Main Ingress"
schema:
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:
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:
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:
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:ingressClassName
label:"IngressClass Name"
schema:
type:string
default:""
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
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:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
# Include{ingressList}
- variable:securityContext
group:"Security and Permissions"
label:"Security Context"
schema:
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:podSecurityContext
group:"Security and Permissions"
label:"Pod Security Context"
schema:
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:0
- variable:fsGroup
label:"fsGroup"
description:"The group that should own ALL storage."