2021-04-12 09:25:07 +00:00
groups :
- name : "Container Image"
description : "Image to be used for container"
- name : "Workload Configuration"
description : "Configure workload deployment"
- name : "Configuration"
description : "additional container configuration"
- name : "Networking"
2021-05-22 15:59:46 +00:00
description : "Configure Network and Services for container"
2021-04-13 19:43:27 +00:00
- name : "Storage"
2021-04-12 09:25:07 +00:00
description : "Persist and share data that is separate from the lifecycle of the container"
2021-04-15 21:30:44 +00:00
- name : "Resources and Devices"
description : "Specify resources/devices to be allocated to workload"
2021-05-22 15:59:46 +00:00
- name : "Ingress Configuration"
description : "Ingress Configuration"
- name : "Security"
description : "Configure security context"
2021-04-12 09:25:07 +00:00
- name : "Advanced"
description : "Advanced Configuration"
- name : "WARNING"
description : "WARNING"
portals :
web_portal :
protocols :
- "$kubernetes-resource_configmap_portal_protocol"
host :
- "$kubernetes-resource_configmap_portal_host"
ports :
- "$kubernetes-resource_configmap_portal_port"
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 : true
# Update Policy
- variable : strategyType
group : "Container Image"
label : "Update Strategy"
schema :
type : string
default : "Recreate"
enum :
- value : "RollingUpdate"
description : "Create new pods and then kill old ones"
- value : "Recreate"
description : "Kill existing pods before creating new ones"
2021-05-22 23:15:39 +00:00
- variable : env
group : "Configuration"
label : "Image Environment"
schema :
type : dict
attrs :
2021-05-23 15:04:55 +00:00
- variable : TZ
2021-05-22 23:15:39 +00:00
label : "Timezone"
schema :
type : string
default : "Etc/UTC"
$ref :
- "definitions/timezone"
2021-04-12 09:25:07 +00:00
# Configure Enviroment Variables
2021-05-22 15:59:46 +00:00
- variable : envList
2021-04-12 09:25:07 +00:00
label : "Image environment"
group : "Configuration"
schema :
type : list
default : [ ]
items :
2021-05-22 15:59:46 +00:00
- variable : envItem
2021-04-12 09:25:07 +00:00
label : "Environment Variable"
schema :
type : dict
attrs :
- variable : name
label : "Name"
schema :
type : string
- variable : value
label : "Value"
schema :
type : string
# Enable Host Networking
- variable : hostNetwork
group : "Networking"
label : "Enable Host Networking"
schema :
type : boolean
default : false
2021-05-22 15:59:46 +00:00
- variable : service
2021-04-12 09:25:07 +00:00
group : "Networking"
2021-05-22 15:59:46 +00:00
label : "Configure Service(s)"
2021-04-12 09:25:07 +00:00
schema :
type : dict
attrs :
- variable : main
2021-05-22 15:59:46 +00:00
label : "Main Service"
2021-04-12 09:25:07 +00:00
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
2021-05-22 15:59:46 +00:00
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"
2021-04-12 09:25:07 +00:00
schema :
type : string
2021-05-22 15:59:46 +00:00
default : "NodePort"
2021-04-12 09:25:07 +00:00
enum :
- value : "NodePort"
description : "NodePort"
- value : "ClusterIP"
description : "ClusterIP"
2021-05-22 15:59:46 +00:00
- value : "LoadBalancer"
description : "LoadBalancer"
- variable : loadBalancerIP
label : "LoadBalancer IP"
description : "LoadBalancerIP"
2021-04-12 09:25:07 +00:00
schema :
2021-05-22 15:59:46 +00:00
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"
2021-04-12 09:25:07 +00:00
schema :
type : string
2021-05-22 15:59:46 +00:00
- variable : ports
label : "Service's Port(s) Configuration"
schema :
type : dict
attrs :
- variable : main
label : "Main Service Port Configuration"
2021-04-12 09:25:07 +00:00
schema :
2021-05-22 15:59:46 +00:00
type : dict
attrs :
2021-05-24 21:01:43 +00:00
- variable : enabled
label : "Enable the port"
schema :
type : boolean
default : true
hidden : true
2021-05-22 15:59:46 +00:00
- 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 : port
label : "Container Port"
schema :
type : int
default : 8384
editable : false
hidden : true
- variable : targetport
label : "Target Port"
description : "This port exposes the container port on the service"
schema :
type : int
default : 8384
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 : 36024
required : true
2021-05-22 22:09:56 +00:00
- variable : listeners
label : "Syncthing Listening Service"
description : "This service is used to process incoming connections directly to this Syncthing instance"
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 : ""
required : true
- variable : exetrnalIPs
label : "External IP's"
description : "External IP's"
schema :
show_if : [ [ "type" , "=" , "LoadBalancer" ] ]
type : list
default : [ ]
items :
- variable : externalIP
label : "External IP"
required : true
schema :
type : string
- variable : ports
label : "Service's Port(s) Configuration"
schema :
type : dict
attrs :
- variable : tcp
label : "TCP Service Port Configuration"
schema :
type : dict
attrs :
2021-05-24 21:01:43 +00:00
- variable : enabled
label : "Enable the port"
schema :
type : boolean
default : true
hidden : true
- variable : enabled
label : "Enable the port"
schema :
type : boolean
default : true
hidden : true
2021-05-22 22:09:56 +00:00
- 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 : port
label : "Container Port"
schema :
type : int
default : 22000
editable : false
hidden : true
- variable : targetport
label : "Target Port"
description : "This port exposes the container port on the service"
schema :
type : int
default : 22000
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 : 22000
required : true
- variable : udp
label : "UDP Service Port Configuration"
schema :
type : dict
attrs :
2021-05-24 21:01:43 +00:00
- variable : enabled
label : "Enable the port"
schema :
type : boolean
default : true
hidden : true
- variable : enabled
label : "Enable the port"
schema :
type : boolean
default : true
hidden : true
2021-05-22 22:09:56 +00:00
- variable : protocol
label : "Port Type"
schema :
type : string
default : "UDP"
enum :
- value : HTTP
description : "HTTP"
- value : "HTTPS"
description : "HTTPS"
- value : TCP
description : "TCP"
- value : "UDP"
description : "UDP"
- variable : port
label : "Container Port"
schema :
type : int
default : 22000
editable : false
hidden : true
- variable : targetport
label : "Target Port"
description : "This port exposes the container port on the service"
schema :
type : int
default : 22000
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 : 22000
required : true
2021-05-24 21:01:43 +00:00
- variable : discovery
label : "Syncthing Listening Service"
description : "This service is used to process incoming connections directly to this Syncthing instance"
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 : ""
required : true
- variable : exetrnalIPs
label : "External IP's"
description : "External IP's"
schema :
show_if : [ [ "type" , "=" , "LoadBalancer" ] ]
type : list
default : [ ]
items :
- variable : externalIP
label : "External IP"
required : true
schema :
type : string
- variable : ports
label : "Service's Port(s) Configuration"
schema :
type : dict
attrs :
- variable : discovery
label : "UDP Service Port Configuration"
schema :
type : dict
attrs :
- variable : enabled
label : "Enable the port"
schema :
type : boolean
default : true
hidden : true
- variable : enabled
label : "Enable the port"
schema :
type : boolean
default : true
hidden : true
- variable : protocol
label : "Port Type"
schema :
type : string
default : "UDP"
enum :
- value : HTTP
description : "HTTP"
- value : "HTTPS"
description : "HTTPS"
- value : TCP
description : "TCP"
- value : "UDP"
description : "UDP"
- variable : port
label : "Container Port"
schema :
type : int
default : 21027
editable : false
hidden : true
- variable : targetport
label : "Target Port"
description : "This port exposes the container port on the service"
schema :
type : int
default : 21027
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 : 21027
required : true
2021-05-22 15:59:46 +00:00
## TrueCharts Specific
2021-04-13 19:43:27 +00:00
- variable : persistence
label : "Integrated Persistent Storage"
group : "Storage"
2021-04-12 09:25:07 +00:00
schema :
type : dict
attrs :
2021-04-13 19:43:27 +00:00
- variable : config
label : "App Config Storage"
description : "Stores the Application Configuration."
2021-04-12 09:25:07 +00:00
schema :
type : dict
attrs :
- variable : enabled
2021-04-13 19:43:27 +00:00
label : "Enable the storage"
2021-04-12 09:25:07 +00:00
schema :
type : boolean
default : true
2021-04-13 19:43:27 +00:00
- variable : storageClass
label : "Type of Storage"
2021-05-24 19:17:29 +00:00
description : " Warning: Anything other than SCALE-ZFS will break rollback!"
2021-04-12 09:25:07 +00:00
schema :
2021-04-13 19:43:27 +00:00
type : string
2021-05-24 19:17:29 +00:00
default : "SCALE-ZFS"
2021-04-13 19:43:27 +00:00
- variable : mountPath
label : "mountPath"
description : "Path inside the container the storage is mounted"
schema :
type : string
default : "/var/syncthing"
hidden : true
2021-04-12 09:25:07 +00:00
- variable : emptyDir
2021-05-24 19:56:45 +00:00
label : "EmptyDir Volume"
2021-04-12 09:25:07 +00:00
schema :
2021-05-23 17:38:29 +00:00
type : dict
attrs :
- variable : enabled
2021-05-24 19:56:45 +00:00
label : "Use emptyDir volume"
2021-05-23 17:38:29 +00:00
schema :
type : boolean
default : false
2021-05-24 19:56:45 +00:00
show_subquestions_if : true
subquestions :
- variable : medium
label : "EmptyDir Medium"
schema :
type : string
default : ""
enum :
- value : ""
description : "Default"
- value : "Memory"
description : "Memory"
2021-04-13 19:43:27 +00:00
- variable : accessMode
label : "Access Mode (Advanced)"
description : "Allow or disallow multiple PVC's writhing to the same PVC"
2021-04-12 09:25:07 +00:00
schema :
type : string
2021-04-13 19:43:27 +00:00
default : "ReadWriteOnce"
enum :
- value : "ReadWriteOnce"
description : "ReadWriteOnce"
- value : "ReadOnlyMany"
description : "ReadOnlyMany"
- value : "ReadWriteMany"
description : "ReadWriteMany"
- variable : size
label : "Size quotum of storage"
2021-04-12 09:25:07 +00:00
schema :
2021-04-13 19:43:27 +00:00
type : string
default : "100Gi"
2021-05-19 13:12:45 +00:00
- variable : hostPathMounts
2021-04-12 09:25:07 +00:00
label : "Custom app storage"
2021-04-13 19:43:27 +00:00
group : "Storage"
2021-04-12 09:25:07 +00:00
schema :
type : list
default : [ ]
items :
- variable : volumeMount
label : "Custom Storage"
schema :
type : dict
attrs :
- variable : enabled
label : "Enabled"
schema :
type : boolean
default : true
hidden : true
- variable : setPermissions
label : "Automatic Permissions"
description : "Automatically set permissions on install"
schema :
type : boolean
default : true
2021-04-15 20:19:56 +00:00
- variable : readOnly
label : "Mount as ReadOnly"
description : "prevent any write from being done to the mounted volume"
schema :
type : boolean
default : false
2021-04-12 09:25:07 +00:00
- variable : emptyDir
2021-05-24 19:56:45 +00:00
label : "EmptyDir Volume"
2021-04-12 09:25:07 +00:00
schema :
2021-05-24 19:56:45 +00:00
type : dict
attrs :
- variable : enabled
label : "Use emptyDir volume"
schema :
type : boolean
default : false
2021-05-24 21:01:43 +00:00
- variable : medium
label : "EmptyDir Medium"
schema :
type : string
default : ""
enum :
- value : ""
description : "Default"
- value : "Memory"
description : "Memory"
2021-04-12 09:25:07 +00:00
- variable : mountPath
label : "Mount Path"
description : "Path to mount inside the pod"
schema :
type : path
required : true
default : ""
editable : true
- variable : hostPath
label : "Host Path"
2021-05-24 19:56:45 +00:00
description : "Path on the host to mount inside the container, ignored when emptyDir is enabled"
2021-04-12 09:25:07 +00:00
schema :
type : hostpath
required : true
2021-04-14 20:24:09 +00:00
# Enable privileged
- variable : securityContext
2021-05-22 15:59:46 +00:00
group : "Security"
2021-04-14 20:24:09 +00:00
label : "Security Context"
schema :
type : dict
attrs :
- variable : privileged
label : "Enable privileged mode for Common-Chart based charts"
schema :
type : boolean
default : false
# Set Pod Security Policy
- variable : podSecurityContext
2021-05-22 15:59:46 +00:00
group : "Security"
2021-04-14 20:24:09 +00:00
label : "Pod Security Context"
schema :
type : dict
attrs :
- variable : runAsNonRoot
label : "runAsNonRoot"
schema :
type : boolean
default : true
- variable : runAsUser
label : "runAsUser"
description : "The UserID of the user running the application"
schema :
type : int
default : 568
- variable : runAsGroup
label : "runAsGroup"
description : The groupID this App of the user running the application"
schema :
type : int
default : 568
- variable : fsGroup
label : "fsGroup"
description : "The group that should own ALL storage."
schema :
type : int
default : 568
- variable : fsGroupChangePolicy
label : "When should we take ownership?"
schema :
type : string
default : "OnRootMismatch"
enum :
- value : "OnRootMismatch"
description : "OnRootMismatch"
- value : "Always"
description : "Always"