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:{}
questions:
- 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:secret
group:"Container Configuration"
label:"Secret Image Environment"
schema:
type:dict
attrs:
- variable:UP_UNIFI_DEFAULT_PASS
label:"Unifi Password"
description:"Password for the Unifi user specified below"
schema:
type:string
default:""
required:true
- variable:env
group:"Container Configuration"
label:"Image Environment"
schema:
type:dict
attrs:
- variable:TZ
label:"Timezone"
schema:
type:string
default:"Etc/UTC"
$ref:
- "definitions/timezone"
- variable:UMASK
label:"UMASK"
description:"Sets the UMASK env var for LinuxServer.io (compatible) containers"
schema:
type:string
default:"002"
- variable:UP_UNIFI_DEFAULT_URL
label:"Unifi URL"
description:"Unifi URL including Port and http(s) prefix"
schema:
type:string
default:"https://127.0.0.1:8443"
required:true
- variable:UP_UNIFI_DEFAULT_USER
label:"Unifi User"
description:"User on Unifi with access to the data"
schema:
type:string
default:""
required:true
- variable:UP_PROMETHEUS_DISABLE
label:"Disable Prometheus Metrics"
schema:
type:boolean
default:false
hidden:true
- variable:envList
label:"Image environment"
group:"Container Configuration"
schema:
type:list
default:[]
items:
- variable:envItem
label:"Environment Variable"
schema:
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:termination
group:"Container Configuration"
label:"Termination settings"
schema:
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:
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:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- 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: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:
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:
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:persistenceList
label:"Additional app storage"
group:"Storage and Persistence"
schema:
type:list
default:[]
items:
- variable:persistenceListEntry
label:"Custom Storage"
schema:
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"
description:"Enable and configure Prometheus Rules for the App."
schema:
type:dict
attrs:
- variable:enabled
label:"Enabled"
description:"Enable Prometheus Metrics"
schema:
type:boolean
default:false
# TODO: Rule List section
- variable:autoscaling
group:"Advanced"
label:"(Advanced) Horizontal Pod Autoscaler"
schema:
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:addons
group:"Addons"
label:""
schema:
type:dict
attrs:
- variable:vpn
label:"VPN"
schema:
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:
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:
type:dict
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:git
label:"Git Settings"
schema:
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:
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"