From f6a77b3bad13a2cbeff7d520adb4c5faaa261ed2 Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Fri, 8 Jul 2022 15:44:55 +0200 Subject: [PATCH] feat(nextcloud/collabora): Add collabora as a nextcloud dependency (#3097) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(nextcloud/collabora): Add collabora as a nextcloud dependency * Turn collabora into a statefull set * àdd collabora dependency * app-data storage to userdata * disable collabora for now * also set access url (service) availability before trying to lock into the HPB --- .../collabora-online/CHANGELOG.md | 0 .../collabora-online/CONFIG.md | 0 .../collabora-online/Chart.yaml | 2 +- .../collabora-online/README.md | 0 .../collabora-online/helm-values.md | 0 .../collabora-online/questions.yaml | 0 .../collabora-online/security.md | 0 .../collabora-online/templates/common.yaml | 0 .../dependency/collabora-online/values.yaml | 51 +++++++++++++++++++ charts/stable/collabora-online/values.yaml | 30 ----------- charts/stable/nextcloud/Chart.yaml | 6 ++- charts/stable/nextcloud/questions.yaml | 4 +- .../stable/nextcloud/templates/_configmap.tpl | 7 +++ charts/stable/nextcloud/templates/_hpb.tpl | 6 ++- charts/stable/nextcloud/values.yaml | 11 ++++ 15 files changed, 82 insertions(+), 35 deletions(-) rename charts/{stable => dependency}/collabora-online/CHANGELOG.md (100%) rename charts/{stable => dependency}/collabora-online/CONFIG.md (100%) rename charts/{stable => dependency}/collabora-online/Chart.yaml (98%) rename charts/{stable => dependency}/collabora-online/README.md (100%) rename charts/{stable => dependency}/collabora-online/helm-values.md (100%) rename charts/{stable => dependency}/collabora-online/questions.yaml (100%) rename charts/{stable => dependency}/collabora-online/security.md (100%) rename charts/{stable => dependency}/collabora-online/templates/common.yaml (100%) create mode 100644 charts/dependency/collabora-online/values.yaml delete mode 100644 charts/stable/collabora-online/values.yaml diff --git a/charts/stable/collabora-online/CHANGELOG.md b/charts/dependency/collabora-online/CHANGELOG.md similarity index 100% rename from charts/stable/collabora-online/CHANGELOG.md rename to charts/dependency/collabora-online/CHANGELOG.md diff --git a/charts/stable/collabora-online/CONFIG.md b/charts/dependency/collabora-online/CONFIG.md similarity index 100% rename from charts/stable/collabora-online/CONFIG.md rename to charts/dependency/collabora-online/CONFIG.md diff --git a/charts/stable/collabora-online/Chart.yaml b/charts/dependency/collabora-online/Chart.yaml similarity index 98% rename from charts/stable/collabora-online/Chart.yaml rename to charts/dependency/collabora-online/Chart.yaml index 7fdc9fc6b02..1aa7f49dbe6 100644 --- a/charts/stable/collabora-online/Chart.yaml +++ b/charts/dependency/collabora-online/Chart.yaml @@ -22,7 +22,7 @@ sources: - https://sdk.collaboraonline.com/contents.html - https://github.com/CollaboraOnline/online/tree/master/kubernetes/helm type: application -version: 12.0.11 +version: 12.1.0 annotations: truecharts.org/catagories: | - office diff --git a/charts/stable/collabora-online/README.md b/charts/dependency/collabora-online/README.md similarity index 100% rename from charts/stable/collabora-online/README.md rename to charts/dependency/collabora-online/README.md diff --git a/charts/stable/collabora-online/helm-values.md b/charts/dependency/collabora-online/helm-values.md similarity index 100% rename from charts/stable/collabora-online/helm-values.md rename to charts/dependency/collabora-online/helm-values.md diff --git a/charts/stable/collabora-online/questions.yaml b/charts/dependency/collabora-online/questions.yaml similarity index 100% rename from charts/stable/collabora-online/questions.yaml rename to charts/dependency/collabora-online/questions.yaml diff --git a/charts/stable/collabora-online/security.md b/charts/dependency/collabora-online/security.md similarity index 100% rename from charts/stable/collabora-online/security.md rename to charts/dependency/collabora-online/security.md diff --git a/charts/stable/collabora-online/templates/common.yaml b/charts/dependency/collabora-online/templates/common.yaml similarity index 100% rename from charts/stable/collabora-online/templates/common.yaml rename to charts/dependency/collabora-online/templates/common.yaml diff --git a/charts/dependency/collabora-online/values.yaml b/charts/dependency/collabora-online/values.yaml new file mode 100644 index 00000000000..2b070c8636a --- /dev/null +++ b/charts/dependency/collabora-online/values.yaml @@ -0,0 +1,51 @@ +image: + repository: tccr.io/truecharts/collabora + tag: v22.05.3.1.1@sha256:bd8a7a162e8aed2990c262e5251f22eaa69cfba8e75a4886e90455a30f775696 + pullPolicy: IfNotPresent + +controller: + # -- Set the controller type. + # Valid options are deployment, daemonset or statefulset + type: statefulset + # -- Number of desired pods + replicas: 1 + # -- Set the controller upgrade strategy + # For Deployments, valid values are Recreate (default) and RollingUpdate. + # For StatefulSets, valid values are OnDelete and RollingUpdate (default). + # DaemonSets ignore this. + strategy: RollingUpdate + rollingUpdate: + # -- Set deployment RollingUpdate max unavailable + unavailable: 1 + # -- Set deployment RollingUpdate max surge + surge: + # -- Set statefulset RollingUpdate partition + partition: + # -- ReplicaSet revision history limit + revisionHistoryLimit: 3 + +securityContext: + readOnlyRootFilesystem: false + allowPrivilegeEscalation: true + +podSecurityContext: + runAsUser: 104 + runAsGroup: 106 + +service: + main: + ports: + main: + port: 10105 + targetPort: 9980 + +secretEnv: + username: "" + password: "" + +env: + aliasgroup1: "" + 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:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false " + server_name: "collabora.domain.tld" + DONT_GEN_SSL_CERT: true diff --git a/charts/stable/collabora-online/values.yaml b/charts/stable/collabora-online/values.yaml deleted file mode 100644 index 69872dda703..00000000000 --- a/charts/stable/collabora-online/values.yaml +++ /dev/null @@ -1,30 +0,0 @@ -image: - repository: tccr.io/truecharts/collabora - tag: v22.05.3.1.1@sha256:bd8a7a162e8aed2990c262e5251f22eaa69cfba8e75a4886e90455a30f775696 - pullPolicy: IfNotPresent - -securityContext: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: true - -podSecurityContext: - runAsUser: 104 - runAsGroup: 106 - -service: - main: - ports: - main: - port: 10105 - targetPort: 9980 - -secretEnv: - username: "admin" - password: "changeme" - -env: - aliasgroup1: "" - 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:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false " - server_name: "collabora.domain.tld" - DONT_GEN_SSL_CERT: true diff --git a/charts/stable/nextcloud/Chart.yaml b/charts/stable/nextcloud/Chart.yaml index 1a619fde953..7cadb740142 100644 --- a/charts/stable/nextcloud/Chart.yaml +++ b/charts/stable/nextcloud/Chart.yaml @@ -8,6 +8,10 @@ dependencies: name: postgresql repository: https://charts.truecharts.org/ version: 8.0.22 +- condition: collabora.enabled + name: collabora-online + repository: https://charts.truecharts.org/ + version: 12.0.11 - condition: redis.enabled name: redis repository: https://charts.truecharts.org @@ -33,7 +37,7 @@ sources: - https://github.com/nextcloud/docker - https://github.com/nextcloud/helm type: application -version: 15.1.4 +version: 15.2.0 annotations: truecharts.org/catagories: | - cloud diff --git a/charts/stable/nextcloud/questions.yaml b/charts/stable/nextcloud/questions.yaml index 57f0d915736..a208d510cef 100644 --- a/charts/stable/nextcloud/questions.yaml +++ b/charts/stable/nextcloud/questions.yaml @@ -220,8 +220,8 @@ questions: # Include{persistenceBasic} # Include{persistenceAdvanced} - variable: data - label: "App Data Storage" - description: "Stores the Application Data." + label: "UserData Storage" + description: "Stores the User Data." schema: additional_attrs: true type: dict diff --git a/charts/stable/nextcloud/templates/_configmap.tpl b/charts/stable/nextcloud/templates/_configmap.tpl index 92231b6b0f7..abe500d31e8 100644 --- a/charts/stable/nextcloud/templates/_configmap.tpl +++ b/charts/stable/nextcloud/templates/_configmap.tpl @@ -21,6 +21,13 @@ kind: ConfigMap metadata: name: nextcloudconfig data: + {{- $aliasgroup1 := ( printf "http://%s" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) ) }} + {{- if .Values.ingress.main.enabled }} + {{- with (first .Values.ingress.main.hosts) }} + {{- $aliasgroup1 = ( printf "https://%s" .host ) }} + {{- end }} + {{- end }} + aliasgroup1: {{ $aliasgroup1 }} NEXTCLOUD_TRUSTED_DOMAINS: {{ ( printf "%v %v %v %v %v %v %v %v" "test.fakedomain.dns" "localhost" "127.0.0.1" ( printf "%v:%v" "127.0.0.1" .Values.service.main.ports.main.port ) ( .Values.env.AccessIP | default "localhost" ) ( printf "%v-%v" .Release.Name "nextcloud" ) ( printf "%v-%v" .Release.Name "nextcloud-backend" ) $hosts ) | quote }} {{- if .Values.ingress.main.enabled }} APACHE_DISABLE_REWRITE_IP: "1" diff --git a/charts/stable/nextcloud/templates/_hpb.tpl b/charts/stable/nextcloud/templates/_hpb.tpl index 225aee33111..6f7ef3f905c 100644 --- a/charts/stable/nextcloud/templates/_hpb.tpl +++ b/charts/stable/nextcloud/templates/_hpb.tpl @@ -81,13 +81,17 @@ command: echo "High Performance Backend not running ... waiting..." sleep 10 done - echo "High Performance Backend found..." {{- $accessurl := ( printf "http://%v:%v" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) .Values.service.main.ports.main.port ) }} {{- if .Values.ingress.main.enabled }} {{- with (first .Values.ingress.main.hosts) }} {{- $accessurl = ( printf "https://%s" .host ) }} {{- end }} {{- end }} + until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://$accessurl/push/test/cookie); do + echo "High Performance Backend service not accessable ... waiting..." + sleep 10 + done + echo "High Performance Backend found..." echo "Configuring High Performance Backend for url: {{ $accessurl }}" php /var/www/html/occ notify_push:setup {{ $accessurl }}/push fg diff --git a/charts/stable/nextcloud/values.yaml b/charts/stable/nextcloud/values.yaml index 44b1ff03042..9565445e782 100644 --- a/charts/stable/nextcloud/values.yaml +++ b/charts/stable/nextcloud/values.yaml @@ -391,6 +391,17 @@ hpb: imaginary: enabled: true +collabora: + enabled: false + env: + aliasgroup1: + configMapRef: + name: nextcloudconfig + key: aliasgroup1 + 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:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false " + server_name: "" + DONT_GEN_SSL_CERT: true postgresql: enabled: true