From 8ddcfb9e184cdf969802bce726fe8ec269c449fb Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Wed, 21 Jun 2023 10:22:07 +0300 Subject: [PATCH] feat(collabora): add collabora (#9794) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description** ⚒️ Fixes # **⚙️ Type of change** - [x] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code **🧪 How Has This Been Tested?** **📃 Notes:** **✔️ Checklist:** - [x] ⚖️ My code follows the style guidelines of this project - [x] 👀 I have performed a self-review of my own code - [x] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [x] ⬆️ I increased versions for any altered app according to semantic versioning **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🪞 I have opened a PR on [truecharts/containers](https://github.com/truecharts/containers) adding the container to TrueCharts mirror repo. - [x] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --- charts/stable/collabora/.helmignore | 30 +++ charts/stable/collabora/Chart.yaml | 28 +++ charts/stable/collabora/README.md | 0 charts/stable/collabora/icon.png | Bin 0 -> 11288 bytes charts/stable/collabora/questions.yaml | 192 ++++++++++++++++++ charts/stable/collabora/templates/NOTES.txt | 1 + .../stable/collabora/templates/_configmap.tpl | 46 +++++ charts/stable/collabora/templates/common.yaml | 10 + charts/stable/collabora/values.yaml | 60 ++++++ 9 files changed, 367 insertions(+) create mode 100644 charts/stable/collabora/.helmignore create mode 100644 charts/stable/collabora/Chart.yaml create mode 100644 charts/stable/collabora/README.md create mode 100644 charts/stable/collabora/icon.png create mode 100644 charts/stable/collabora/questions.yaml create mode 100644 charts/stable/collabora/templates/NOTES.txt create mode 100644 charts/stable/collabora/templates/_configmap.tpl create mode 100644 charts/stable/collabora/templates/common.yaml create mode 100644 charts/stable/collabora/values.yaml diff --git a/charts/stable/collabora/.helmignore b/charts/stable/collabora/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/stable/collabora/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/stable/collabora/Chart.yaml b/charts/stable/collabora/Chart.yaml new file mode 100644 index 00000000000..f062d5159ea --- /dev/null +++ b/charts/stable/collabora/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: v23.05.0.5.1 +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 12.14.2 +deprecated: false +description: An awesome, Online Office suite image suitable for home use. +home: https://truecharts.org/charts/stable/collabora +icon: https://truecharts.org/img/hotlink-ok/chart-icons/collabora.png +keywords: + - office + - document +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: collabora +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/collabora + - https://github.com/CollaboraOnline/online +type: application +version: 1.0.0 +annotations: + truecharts.org/catagories: | + - office + truecharts.org/SCALE-support: "true" diff --git a/charts/stable/collabora/README.md b/charts/stable/collabora/README.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/stable/collabora/icon.png b/charts/stable/collabora/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5753d9516f680a9cbf684fc01c914316bd687ae GIT binary patch literal 11288 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 literal 0 HcmV?d00001 diff --git a/charts/stable/collabora/questions.yaml b/charts/stable/collabora/questions.yaml new file mode 100644 index 00000000000..1780fc8ca4f --- /dev/null +++ b/charts/stable/collabora/questions.yaml @@ -0,0 +1,192 @@ +# Include{groups} +portals: + open: +# Include{portalLink} + admin: +# Include{portalLink} + path: /browser/dist/admin/admin.html +questions: +# Include{global} +# Include{workload} +# Include{workloadDeployment} +# Include{replicas1} +# Include{podSpec} +# Include{containerMain} +# Include{containerBasic} +# Include{containerAdvanced} +# Include{containerConfig} +# Include{podOptions} + - variable: collabora + label: Collabora Configuration + group: App Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: username + label: Username + schema: + type: string + default: admin + required: true + - variable: password + label: Password + schema: + type: string + default: "" + required: true + private: true + - variable: dictionaries + label: Dictionaries + description: Dictionaries + schema: + type: list + default: + - de_DE + - en_GB + - en_US + - el_GR + - es_ES + - fr_FR + - pt_BR + - pt_PT + - it + - nl + - ru + items: + - variable: dictionary + label: Dictionary + description: Dictionary + schema: + type: string + default: "" + required: true + - variable: interface + label: Interface + description: Interface + schema: + type: string + default: default + required: true + enum: + - value: default + description: Default + - value: compact + description: Compact + - value: tabbed + description: Tabbed + - variable: server_name + label: Server Name + description: Server Name + schema: + type: string + default: "" + - variable: aliasgroup1 + label: Alias Group 1 + description: Alias Group 1 + schema: + type: list + default: [] + items: + - variable: alias1 + label: Alias 1 + description: Alias 1 + schema: + type: string + default: "" + required: true + - variable: no_gen_ssl + label: Disable SSL Generation + description: Disable SSL Generation + schema: + type: boolean + default: true + - variable: ssl_enable + label: Enable SSL + description: Enable SSL + schema: + type: boolean + default: false + - variable: ssl_termination + label: Terminate SSL + description: Terminate SSL + schema: + type: boolean + default: true + - variable: extra_params + label: Extra Parameters + description: Extra Parameters + schema: + type: list + default: + - --o:welcome.enable=false + items: + - variable: param + label: Parameter + description: Parameter + schema: + type: string + default: "" + required: true +# Include{serviceRoot} +# Include{serviceMain} +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - 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: 9980 + required: true +# Include{serviceExpertRoot} +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceList} +# Include{ingressRoot} + - variable: main + label: Main Ingress + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressTLS} +# Include{ingressTraefik} +# Include{ingressAdvanced} +# Include{ingressList} +# Include{securityContextRoot} + - 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 +# Include{securityContextContainer} +# Include{securityContextAdvanced} +# Include{securityContextPod} + - variable: fsGroup + label: fsGroup + description: The group that should own ALL storage. + schema: + type: int + default: 568 +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{codeserver} +# Include{netshoot} +# Include{vpn} +# Include{documentation} diff --git a/charts/stable/collabora/templates/NOTES.txt b/charts/stable/collabora/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/stable/collabora/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/stable/collabora/templates/_configmap.tpl b/charts/stable/collabora/templates/_configmap.tpl new file mode 100644 index 00000000000..e94563545ed --- /dev/null +++ b/charts/stable/collabora/templates/_configmap.tpl @@ -0,0 +1,46 @@ +{{/* Define the configmap */}} +{{- define "collabora.configmap" -}} +{{- if lt (len .Values.collabora.password) 8 -}} + {{- fail "Collabora - [Password] must be at least 8 characters" -}} +{{- end -}} +{{- if contains "$" .Values.collabora.password -}} + {{- fail "Collabora - [Password] cannot contain [$]" -}} +{{- end -}} +{{- $collaboraUIModes := (list "default" "compact" "tabbed") -}} +{{- if not (mustHas .Values.collabora.interface $collaboraUIModes) -}} + {{- fail (printf "Colabora - Expected [Interface Mode] to be one of [%v], but got [%v]" (join "," $collaboraUIModes) .Values.collabora.interface) -}} +{{- end -}} +{{- if not .Values.collabora.dictionaries -}} + {{- fail "Collabora - Expected non-empty [Dictionaries]" -}} +{{- end -}} + +{{- $fixedParams := (list "--o:mount_jail_tree=false" + "--o:security.seccomp=true" + "--o:home_mode.enable=true" + "--o:logging.level=warning" + "--o:logging.level_startup=warning" + (printf "--o:user_interface.mode=%v" .Values.collabora.interface) + (printf "--o:ssl.enable=%v" .Values.collabora.ssl_enable) + (printf "--o:ssl.termination=%v" .Values.collabora.ssl_termination) ) -}} +{{- $params := concat $fixedParams .Values.collabora.extra_params -}} + +{{- $checkParams := list -}} +{{- range $item := $params -}} + {{- $checkParams = mustAppend $checkParams (regexReplaceAll "--o:(.*)=.*" $item "${1}") -}} +{{- end -}} + +{{- if not (deepEqual $checkParams (uniq $checkParams)) -}} + {{- fail (printf "Collabora - [Dictionaries] must be unique, but got [%v]" ((join ", " $params) | replace "--o:" "")) -}} +{{- end }} + +collabora-config: + enabled: true + data: + aliasgroup1: {{ join "," .Values.collabora.aliasgroup1 }} + server_name: {{ .Values.collabora.server_name }} + dictionaries: {{ join " " .Values.collabora.dictionaries }} + username: {{ .Values.collabora.username | quote }} + password: {{ .Values.collabora.password | quote }} + DONT_GEN_SSL_CERT: {{ .Values.collabora.no_gen_ssl | quote }} + extra_params: {{ join " " $params }} +{{- end -}} diff --git a/charts/stable/collabora/templates/common.yaml b/charts/stable/collabora/templates/common.yaml new file mode 100644 index 00000000000..ba5e621b48b --- /dev/null +++ b/charts/stable/collabora/templates/common.yaml @@ -0,0 +1,10 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . -}} + +{{- $configmaps := include "collabora.configmap" . | fromYaml -}} +{{- if $configmaps -}} + {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} +{{- end -}} + +{{/* Render the templates */}} +{{- include "tc.v1.common.loader.apply" . -}} diff --git a/charts/stable/collabora/values.yaml b/charts/stable/collabora/values.yaml new file mode 100644 index 00000000000..073d928dc93 --- /dev/null +++ b/charts/stable/collabora/values.yaml @@ -0,0 +1,60 @@ +image: + repository: tccr.io/truecharts/collabora + pullPolicy: IfNotPresent + tag: v23.05.0.5.1@sha256:a753bfe9d5479e992e914f5818bc96f33ff95dd3760cb10938ae2296286c416e + +collabora: + username: admin + password: changeme + interface: default + dictionaries: + - de_DE + - en_GB + - en_US + - el_GR + - es_ES + - fr_FR + - pt_BR + - pt_PT + - it + - nl + - ru + server_name: example.com + aliasgroup1: https://cloud.example.com + ssl_enable: false + ssl_termination: true + no_gen_ssl: true + extra_params: + - --o:welcome.enable=false + +workload: + main: + podSpec: + containers: + main: + envFrom: + - configMapRef: + name: collabora-config + securityContext: + runAsUser: 100 + runAsGroup: 102 + readOnlyRootFilesystem: false + allowPrivilegeEscalation: true + capabilities: + add: + - CHOWN + - FOWNER + - SYS_CHROOT + - MKNOD + +service: + main: + ports: + main: + protocol: http + targetPort: 9980 + port: 9980 + +portal: + open: + enabled: true