Commit a10c6e92 authored by sonicaj's avatar sonicaj

Add ability to configure collabora container specifically

parent 9a884604
groups: groups:
- name: "Collabora Configuration"
description: "Configure Collabora"
- name: "Storage" - name: "Storage"
description: "Configure Storage for Collabora" description: "Configure Storage for Collabora"
- name: "Collabora Environment Variables" - name: "Collabora Environment Variables"
...@@ -15,6 +17,71 @@ portals: ...@@ -15,6 +17,71 @@ portals:
path: "/loleaflet/dist/admin/admin.html" path: "/loleaflet/dist/admin/admin.html"
questions: questions:
- variable: config
label: "Container Configuration"
group: "Collabora Configuration"
schema:
type: dict
attrs:
- variable: timezone
label: "Timezone"
group: "Collabora Configuration"
schema:
type: string
$ref:
- "definitions/timezone"
- variable: domain
label: "Domain(s) using collabora"
description: 'Use backslash "\" before dots ".". Use pipe "|" to separate multiple domains'
schema:
type: string
default: 'nextcloud\.domain\.tld|othernextcloud\.domain\.tld'
valid_chars: '^([a-z]{1,}\\{1}\.{1}[a-z]{1,}\\{1}\.{1}[a-z]{1,}\|{0,1})*$'
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
default: ""
valid_chars: "[a-zA-Z0-9!@#$%^&*?]{8,}"
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"
description: 'e.g. "--o:welcome.enable=false", See more on /etc/loolwsd/loowsd.xml. Separate params with space'
schema:
type: string
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:
type: string
default: "true"
enum:
- value: "true"
description: "true"
- value: ""
description: "false"
- 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
default: ''
valid_chars: '^[a-z]{1,}\\{1}\.{1}[a-z]{1,}\\{1}\.{1}[a-z]{1,}$'
- variable: extraAppVolumeMounts - variable: extraAppVolumeMounts
label: "Collabora Extra Host Path Volumes" label: "Collabora Extra Host Path Volumes"
group: "Storage" group: "Storage"
...@@ -41,7 +108,7 @@ questions: ...@@ -41,7 +108,7 @@ questions:
required: true required: true
- variable: environmentVariables - variable: environmentVariables
label: "Environment Variables for Collabora" label: "Environment Variables"
group: "Collabora Environment Variables" group: "Collabora Environment Variables"
schema: schema:
type: list type: list
......
...@@ -28,8 +28,15 @@ spec: ...@@ -28,8 +28,15 @@ spec:
protocol: TCP protocol: TCP
containerPort: 9980 containerPort: 9980
{{ $envList := (default list .Values.environmentVariables) }} {{ $envList := (default list .Values.environmentVariables) }}
{{ $envList = mustAppend $envList (dict "name" "keys" "value" "/plots/keyfile") }} {{ $envConfig := .Values.config }}
{{ $envList = mustAppend $envList (dict "name" "farmr" "value" $.Values.farmr_env) }} {{ $envList = mustAppend $envList (dict "name" "timezone" "value" $envConfig.timezone) }}
{{ $envList = mustAppend $envList (dict "name" "domain" "value" $envConfig.domain) }}
{{ $envList = mustAppend $envList (dict "name" "username" "value" $envConfig.username) }}
{{ $envList = mustAppend $envList (dict "name" "password" "value" $envConfig.password) }}
{{ $envList = mustAppend $envList (dict "name" "dictionaries" "value" $envConfig.dictionaries) }}
{{ $envList = mustAppend $envList (dict "name" "extra_params" "value" $envConfig.extra_params) }}
{{ $envList = mustAppend $envList (dict "name" "DONT_GEN_SSL_CERT" "value" $envConfig.DONT_GEN_SSL_CERT) }}
{{ $envList = mustAppend $envList (dict "name" "server_name" "value" $envConfig.server_name) }}
{{ include "common.containers.allEnvironmentVariables" (dict "environmentVariables" $envList) | nindent 10 }} {{ include "common.containers.allEnvironmentVariables" (dict "environmentVariables" $envList) | nindent 10 }}
{{ if .Values.extraAppVolumeMounts }} {{ if .Values.extraAppVolumeMounts }}
volumes: volumes:
......
appVolumeMounts:
data:
emptyDir: true
mountPath: /data
staging:
emptyDir: true
mountPath: /plots
image: image:
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
repository: collabora/code repository: collabora/code
tag: 6.4.10.10 tag: 6.4.10.10
updateStrategy: Recreate updateStrategy: Recreate
config:
timezone: "America/Los_Angeles"
domain: "somedomain"
username: "admin"
password: "changeme"
dictionaries: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
extra_params: "--o:welcome.enable=false --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false"
DONT_GEN_SSL_CERT: "true"
server_name: "collabora"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment