2021-09-13 10:58:34 +00:00
# Include{groups}
2021-02-15 10:31:41 +00:00
portals :
web_portal :
protocols :
2021-03-11 16:41:17 +00:00
- "$kubernetes-resource_configmap_portal_protocol"
2021-02-23 17:21:54 +00:00
host :
2021-03-11 16:41:17 +00:00
- "$kubernetes-resource_configmap_portal_host"
2021-02-15 10:31:41 +00:00
ports :
2021-03-11 16:41:17 +00:00
- "$kubernetes-resource_configmap_portal_port"
2021-02-15 10:31:41 +00:00
path : "/loleaflet/dist/admin/admin.html"
questions :
2021-03-11 16:41:17 +00:00
- 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
2021-10-20 17:39:05 +00:00
# Include{global}
2021-05-30 14:09:07 +00:00
- variable : controller
group : "Controller"
label : ""
2021-02-15 10:31:41 +00:00
schema :
2021-05-30 14:09:07 +00:00
type : dict
attrs :
- 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
2021-09-26 20:28:43 +00:00
default : "RollingUpdate"
2021-05-30 14:09:07 +00:00
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-09-13 10:58:34 +00:00
# Include{controllerExpert}
2021-03-06 20:32:31 +00:00
- variable : env
2021-05-30 14:09:07 +00:00
group : "Container Configuration"
2021-05-22 23:15:39 +00:00
label : "Image Environment"
2021-03-06 20:32:31 +00:00
schema :
type : dict
attrs :
2021-10-04 11:27:12 +00:00
# Include{fixedEnv}
2021-03-06 20:32:31 +00:00
- variable : domain
2021-06-14 22:09:40 +00:00
label : "Domain(s) using collabora"
2021-10-02 09:30:07 +00:00
description : 'Use pipe "|" to separate multiple domains'
2021-03-06 20:32:31 +00:00
schema :
type : string
2021-10-02 09:30:07 +00:00
default : 'nextcloud.domain.tld|othernextcloud.domain.tld'
2021-10-08 07:27:13 +00:00
valid_chars : '^(([a-z\d](-?[a-z\d]){0,62})\.)*(([a-z\d](-?[a-z\d]){0,62})\.)([a-z](-?[a-z\d]){1,62})((\|((([a-z\d](-?[a-z\d]){0,62})\.)*(([a-z\d](-?[a-z\d]){0,62})\.)([a-z](-?[a-z\d]){1,62})))*)$'
2021-03-06 20:32:31 +00:00
required : true
- variable : username
label : "Username for WebUI"
schema :
type : string
default : "admin"
required : true
- variable : password
label : "Password for WebUI"
schema :
type : string
private : true
2021-03-12 16:18:46 +00:00
default : ""
2021-07-13 21:40:12 +00:00
valid_chars : "[a-zA-Z0-9!@#$%^&*?]{8,}"
2021-03-06 20:32:31 +00:00
required : true
- variable : dictionaries
label : "Dictionaries to use, leave empty to use all"
schema :
type : string
default : "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
- variable : extra_params
label : "Extra Parameters to add"
2021-07-13 21:40:12 +00:00
description : 'e.g. "--o:welcome.enable=false", See more on /etc/loolwsd/loowsd.xml. Separate params with space'
2021-03-06 20:32:31 +00:00
schema :
type : string
2021-07-13 21:40:12 +00:00
default : "--o:welcome.enable=false --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false"
- variable : DONT_GEN_SSL_CERT
label : "DONT_GEN_SSL_CERT"
description : "When set to true it does NOT generate an SSL cert, you have to use your own"
schema :
2021-09-30 21:58:54 +00:00
type : boolean
default : true
2021-03-06 20:32:31 +00:00
- variable : server_name
label : "Server Name"
description : "When this environment variable is set (is not “”), then its value will be used as server name in /etc/loolwsd/loolwsd.xml. Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it."
schema :
type : string
2021-10-02 09:30:07 +00:00
default : 'collabora.domain.tld'
2021-10-08 07:27:13 +00:00
valid_chars : '^(([a-z\d](-?[a-z\d]){0,62})\.)*(([a-z\d](-?[a-z\d]){0,62})\.)([a-z](-?[a-z\d]){1,62})$'
2021-09-13 10:58:34 +00:00
# Include{containerConfig}
2021-05-30 14:09:07 +00:00
2021-05-22 15:59:46 +00:00
- variable : service
2021-05-30 14:09:07 +00:00
group : "Networking and Services"
2021-05-22 15:59:46 +00:00
label : "Configure Service(s)"
2021-02-15 10:31:41 +00:00
schema :
type : dict
attrs :
2021-03-03 15:51:25 +00:00
- variable : main
2021-05-22 15:59:46 +00:00
label : "Main Service"
2021-03-03 15:51:25 +00:00
description : "The Primary service on which the healthcheck runs, often the webUI"
2021-02-15 10:31:41 +00:00
schema :
2021-03-03 15:51:25 +00:00
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-03-03 15:51:25 +00:00
schema :
type : string
2021-05-22 15:59:46 +00:00
default : "NodePort"
2021-03-03 15:51:25 +00:00
enum :
2021-03-11 16:41:17 +00:00
- value : "NodePort"
2021-03-03 15:51:25 +00:00
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-02-15 10:31:41 +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-03-03 15:51:25 +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-02-15 10:31:41 +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"
2021-08-30 20:55:51 +00:00
- variable : targetPort
label : "Target Port"
description : "This port exposes the container port on the service"
2021-05-22 15:59:46 +00:00
schema :
type : int
default : 9980
editable : false
hidden : true
2021-08-30 20:55:51 +00:00
- variable : port
label : "Container Port"
2021-05-22 15:59:46 +00:00
schema :
type : int
default : 9980
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 : 36004
2021-08-30 13:58:30 +00:00
2021-09-13 16:49:14 +00:00
- 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
2021-10-05 10:50:21 +00:00
# Include{serviceExpert}
2021-09-13 16:49:14 +00:00
2021-09-13 10:58:34 +00:00
# Include{serviceList}
2021-08-30 13:58:30 +00:00
2021-09-13 10:58:34 +00:00
# Include{persistenceList}
2021-06-08 11:20:47 +00:00
- variable : ingress
label : ""
group : "Ingress"
schema :
type : dict
attrs :
- variable : main
label : "Main Ingress"
schema :
type : dict
attrs :
2021-10-05 10:50:21 +00:00
# Include{ingressDefault}
2021-08-30 13:58:30 +00:00
2021-10-05 10:50:21 +00:00
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
2021-09-13 16:49:14 +00:00
2021-09-13 10:58:34 +00:00
# Include{ingressList}
2021-08-28 12:27:27 +00:00
- variable : securityContext
group : "Security and Permissions"
label : "Security Context"
schema :
type : dict
attrs :
- variable : privileged
2021-09-07 22:47:09 +00:00
label : "Privileged mode"
2021-08-28 12:27:27 +00:00
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
2021-10-02 09:30:07 +00:00
default : true
2021-09-10 13:26:10 +00:00
- variable : runAsNonRoot
label : "runAsNonRoot"
schema :
type : boolean
default : false
2021-09-26 18:05:21 +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 : 104
- 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"
2021-09-26 18:44:02 +00:00
# Include{resources}
2021-08-30 13:58:30 +00:00
2021-10-04 11:46:38 +00:00
# Include{advanced}
2021-09-13 10:58:34 +00:00
# Include{addons}