2021-10-16 11:57:17 +00:00
# Include{groups}
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 : false
2021-10-20 17:39:05 +00:00
# Include{global}
2021-10-16 11:57:17 +00:00
- variable : controller
group : "Controller"
label : ""
schema :
type : dict
attrs :
2021-11-06 20:41:31 +00:00
- variable : advanced
label : "Show Advanced Controller Settings"
2021-10-16 11:57:17 +00:00
schema :
2021-11-06 20:41:31 +00:00
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"
2021-10-16 11:57:17 +00:00
# Include{controllerExpert}
- variable : env
group : "Container Configuration"
label : "Image Environment"
schema :
type : dict
attrs :
# Include{fixedEnv}
- variable : PUID
label : "PUID"
description : "Sets the PUID env var"
schema :
type : int
required : true
default : 568
- variable : nodeID
label : "nodeID"
description : "Sets name of this node"
schema :
type : string
required : true
default : "myFirstTdarrNode"
- variable : nodeIP
label : "nodeIP"
description : "Sets IP of this node."
schema :
type : string
required : true
2021-10-17 09:16:35 +00:00
default : "tdarr-node.ix-tdarr-node.svc.cluster.local"
2021-10-16 11:57:17 +00:00
- variable : nodePort
label : "nodePort"
2021-10-17 09:16:35 +00:00
description : "Sets the port of this node."
2021-10-16 11:57:17 +00:00
schema :
type : int
required : true
hidden : true
default : 8267
- variable : serverIP
label : "serverIP"
description : "Sets the serverIP, to which this node will connect. Use the service name if the node is in the same cluster"
schema :
type : string
required : true
default : "tdarr-comm.ix-tdarr.svc.cluster.local"
- variable : serverPort
label : "serverPort"
description : "Sets the server port, to which this node will connect. Leave default if you used service name."
schema :
type : int
required : true
default : 8266
# Include{containerConfig}
- variable : service
group : "Networking and Services"
label : "Configure Service(s)"
schema :
type : dict
attrs :
- variable : main
label : "Main Service"
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 : 8267
editable : false
hidden : true
- variable : port
label : "Container Port"
schema :
type : int
default : 8267
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 : 36150
- 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
# Include{serviceExpert}
# Include{serviceList}
- variable : persistence
label : "Integrated Persistent Storage"
2021-10-18 20:27:21 +00:00
description : "Integrated Persistent Storage"
2021-10-16 11:57:17 +00:00
group : "Storage and Persistence"
schema :
type : dict
attrs :
- variable : configs
label : "App Config Storage"
description : "Stores the Application Configuration."
schema :
type : dict
attrs :
- variable : enabled
label : "Enable the storage"
schema :
type : boolean
default : true
2021-11-06 20:41:31 +00:00
hidden : true
2021-10-16 11:57:17 +00:00
- variable : type
2021-11-06 20:41:31 +00:00
label : "Type of Storage"
description : "Sets the persistence type, Anything other than PVC could break rollback!"
2021-10-16 11:57:17 +00:00
schema :
type : string
2021-11-06 20:41:31 +00:00
default : "simplePVC"
2021-10-16 11:57:17 +00:00
enum :
2021-11-06 20:41:31 +00:00
- value : "simplePVC"
description : "PVC (simple)"
- value : "simpleHP"
description : "HostPath (simple)"
2021-10-16 11:57:17 +00:00
- value : "emptyDir"
description : "emptyDir"
2021-11-06 20:41:31 +00:00
- value : "pvc"
description : "pvc"
2021-10-16 11:57:17 +00:00
- value : "hostPath"
description : "hostPath"
2021-11-06 20:41:31 +00:00
# Include{persistenceBasic}
2021-10-16 11:57:17 +00:00
- 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 : "/app/configs"
hidden : true
2021-10-17 11:48:45 +00:00
valid_chars : '^\/([a-zA-Z0-9._-]+\/?)+$'
2021-10-16 11:57:17 +00:00
- variable : medium
label : "EmptyDir Medium"
schema :
show_if : [ [ "type" , "=" , "emptyDir" ] ]
type : string
default : ""
enum :
- value : ""
description : "Default"
- value : "Memory"
description : "Memory"
2021-11-06 20:41:31 +00:00
# Include{persistenceAdvanced}
2021-10-16 11:57:17 +00:00
- variable : logs
label : "App logs Storage"
description : "Stores the Application logs."
schema :
type : dict
attrs :
- variable : enabled
label : "Enable the storage"
schema :
type : boolean
default : true
2021-11-06 20:41:31 +00:00
hidden : true
2021-10-16 11:57:17 +00:00
- variable : type
2021-11-06 20:41:31 +00:00
label : "Type of Storage"
description : "Sets the persistence type, Anything other than PVC could break rollback!"
2021-10-16 11:57:17 +00:00
schema :
type : string
2021-11-06 20:41:31 +00:00
default : "simplePVC"
2021-10-16 11:57:17 +00:00
enum :
2021-11-06 20:41:31 +00:00
- value : "simplePVC"
description : "PVC (simple)"
- value : "simpleHP"
description : "HostPath (simple)"
2021-10-16 11:57:17 +00:00
- value : "emptyDir"
description : "emptyDir"
2021-11-06 20:41:31 +00:00
- value : "pvc"
description : "pvc"
2021-10-16 11:57:17 +00:00
- value : "hostPath"
description : "hostPath"
2021-11-06 20:41:31 +00:00
# Include{persistenceBasic}
2021-10-16 11:57:17 +00:00
- 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 : "/app/logs"
hidden : true
2021-10-17 11:48:45 +00:00
valid_chars : '^\/([a-zA-Z0-9._-]+\/?)+$'
2021-10-16 11:57:17 +00:00
- variable : medium
label : "EmptyDir Medium"
schema :
show_if : [ [ "type" , "=" , "emptyDir" ] ]
type : string
default : ""
enum :
- value : ""
description : "Default"
- value : "Memory"
description : "Memory"
2021-11-06 20:41:31 +00:00
# Include{persistenceAdvanced}
2021-10-16 11:57:17 +00:00
- variable : transcode-cache
label : "App Transcode cache"
description : "Stores the Application Transcode cache."
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 : "hostPath"
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" ] ]
2021-10-17 09:16:35 +00:00
required : true
2021-10-16 11:57:17 +00:00
type : hostpath
- variable : mountPath
label : "mountPath"
description : "Path inside the container the storage is mounted"
schema :
type : string
default : "/temp"
hidden : true
2021-10-17 11:48:45 +00:00
valid_chars : '^\/([a-zA-Z0-9._-]+\/?)+$'
2021-10-16 11:57:17 +00:00
- variable : medium
label : "EmptyDir Medium"
schema :
show_if : [ [ "type" , "=" , "emptyDir" ] ]
type : string
default : ""
enum :
- value : ""
description : "Default"
- value : "Memory"
description : "Memory"
2021-11-06 20:41:31 +00:00
# Include{persistenceAdvanced}
2021-10-16 11:57:17 +00:00
- variable : varrun
label : "varrun override for S6 Readonly Root"
schema :
type : dict
hidden : true
attrs :
- variable : enabled
label : ""
schema :
type : boolean
default : true
hidden : true
# Include{persistenceList}
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
2021-11-06 20:41:31 +00:00
- variable : advancedSecurity
label : "Show Advanced Security Settings"
2021-10-16 11:57:17 +00:00
group : "Security and Permissions"
schema :
2021-11-06 20:41:31 +00:00
type : boolean
default : false
show_subquestions_if : true
subquestions :
- variable : securityContext
label : "Security Context"
2021-10-16 11:57:17 +00:00
schema :
2021-11-06 20:41:31 +00:00
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
2021-10-16 11:57:17 +00:00
- 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."
schema :
type : int
default : 568
- variable : supplementalGroups
label : "supplemental Groups"
schema :
type : list
default : [ ]
items :
- variable : supplementalGroupsEntry
label : "supplemental Group"
schema :
type : int
- variable : fsGroupChangePolicy
label : "When should we take ownership?"
schema :
type : string
default : "OnRootMismatch"
enum :
- value : "OnRootMismatch"
description : "OnRootMismatch"
- value : "Always"
description : "Always"
# Include{resources}
# Include{advanced}
# Include{addons}