description:"Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
group:"Workload Details"
schema:
type:boolean
default:false
- variable:stdin
label:"Enable STDIN"
description:"Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
group:"Workload Details"
schema:
type:boolean
default:false
- variable:termination
group:"Container Configuration"
label:"Termination settings"
schema:
additional_attrs:true
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:
additional_attrs:true
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:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:service
group:"Networking and Services"
label:"Configure Service(s)"
schema:
additional_attrs:true
type:dict
attrs:
- variable:main
label:"Main Service"
description:"The Primary service on which the healthcheck runs, often the webUI"
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, 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:"ClusterIP"
description:"ClusterIP"
- value:"NodePort"
description:"NodePort (Advanced)"
- value:"LoadBalancer"
description:"LoadBalancer (Advanced)"
- 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:ipFamilyPolicy
label:"IP Family Policy"
description:"(Advanced) Specify the ip policy"
schema:
show_if:[["type","!=","Simple"]]
type:string
default:"SingleStack"
enum:
- value:"SingleStack"
description:"SingleStack"
- value:"PreferDualStack"
description:"PreferDualStack"
- value:"RequireDualStack"
description:"RequireDualStack"
- variable:ipFamilies
label:"(advanced) IP families"
description:"(advanced) The ip families that should be used"
schema:
show_if:[["type","!=","Simple"]]
type:list
default:[]
items:
- variable:ipFamily
label:"IP family"
schema:
type:string
- variable:ports
label:"Service's Port(s) Configuration"
schema:
additional_attrs:true
type:dict
attrs:
- variable:main
label:"Main 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:10197
required:true
- variable:advanced
label:"Show Advanced settings"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- 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:nodePort
label:"Node Port (Optional)"
description:"This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
schema:
type:int
min:9000
max:65535
- variable:targetPort
label:"Target Port"
description:"The internal(!) port on the container the Application runs on"
schema:
type:int
default:80
- 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:externalInterfaces
description:"Add External Interfaces"
label:"Add external Interfaces"
group:"Networking"
schema:
type:list
items:
- variable:interfaceConfiguration
description:"Interface Configuration"
label:"Interface Configuration"
schema:
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:
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"
show_subquestions_if:"static"
subquestions:
- variable:staticIPConfigurations
label:"Static IP Addresses"
schema:
type:list
items:
- variable:staticIP
label:"Static IP"
schema:
type:ipaddr
cidr:true
- variable:staticRoutes
label:"Static Routes"
schema:
type:list
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: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:
additional_attrs:true
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:
additional_attrs:true
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:
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, 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:
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: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:persistence
label:"Integrated Persistent Storage"
description:"Integrated Persistent Storage"
group:"Storage and Persistence"
schema:
additional_attrs:true
type:dict
attrs:
- variable:storage
label:"App Storage"
description:"Stores the Application Storage."
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:"simplePVC"
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: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"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"999Gi"
- variable:hostPathType
label:"(Advanced) 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:storageClass
label:"(Advanced) storageClass"
description:"Warning: Anything other than SCALE-ZFS or empty will break rollback!"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"SCALE-ZFS"
- variable:accessMode
label:"(Advanced) Access Mode"
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:advanced
label:"Show Advanced Options"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
additional_attrs:true
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:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:content
label:"App Content"
description:"Stores the Application Content."
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:"simplePVC"
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: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"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"999Gi"
- variable:hostPathType
label:"(Advanced) 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:storageClass
label:"(Advanced) storageClass"
description:"Warning: Anything other than SCALE-ZFS or empty will break rollback!"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"SCALE-ZFS"
- variable:accessMode
label:"(Advanced) Access Mode"
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:advanced
label:"Show Advanced Options"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
additional_attrs:true
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:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:persistenceList
label:"Additional app storage"
group:"Storage and 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: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:"Path to the device on the host system"
schema:
type:path
- variable:mountPath
label:"Container Device Path"
description:"Path inside the container the device is mounted"
schema:
type:string
default:"/dev/ttyACM0"
# Specify GPU configuration
- variable:scaleGPU
label:"GPU Configuration"
group:"Resources and Devices"
schema:
type:dict
$ref:
- "definitions/gpuConfiguration"
attrs:[]
- variable:autoscaling
group:"Advanced"
label:"(Advanced) Horizontal Pod Autoscaler"
schema:
additional_attrs:true
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:networkPolicy
group:"Advanced"
label:"(Advanced) Network Policy"
schema:
additional_attrs:true
type:dict
attrs:
- 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:"ipBlock"
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:int
- variable:namespaceSelector
label:"namespaceSelector"
schema:
additional_attrs:true
type:dict
attrs:
- variable:matchExpressions
label:"matchExpressions"
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:"matchExpressions"
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:"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:"ipBlock"
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:int
- variable:namespaceSelector
label:"namespaceSelector"
schema:
additional_attrs:true
type:dict
attrs:
- variable:matchExpressions
label:"matchExpressions"
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:"matchExpressions"
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:"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:vpn
label:"VPN"
schema:
additional_attrs:true
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:
additional_attrs:true
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:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:git
label:"Git Settings"
schema:
additional_attrs:true
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:
additional_attrs:true
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"