feat(nextcloud/collabora): Add collabora as a nextcloud dependency (#3097)

* 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
This commit is contained in:
Kjeld Schouten-Lebbing
2022-07-08 15:44:55 +02:00
committed by GitHub
parent b3f4b0500d
commit f6a77b3bad
15 changed files with 82 additions and 35 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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