Skip to content

Commit 05976ef

Browse files
author
Your Name
committed
add collabora
1 parent a51b169 commit 05976ef

File tree

10 files changed

+560
-49
lines changed

10 files changed

+560
-49
lines changed

charts/opencloud-full/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ You can install the Helm charts either directly from this Git repository or from
110110
git clone https://github.com/opencloud-eu/helm.git
111111

112112
# Install Full Chart
113-
cd charts/opencloud-full/deployments
113+
cd charts/opencloud-full/deployments/helm
114114
helmfile sync
115115
```
116116
You can also install it with timoni instead of helm:

charts/opencloud-full/deployments/helm/helmfile.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,15 @@ releases:
3333
persistence:
3434
size: "40Gi"
3535
- onlyoffice:
36-
enabled: true
36+
enabled: false
3737
domain: onlyoffice.opencloud.test # Domain for OnlyOffice.
3838
persistence:
3939
size: "2Gi" # Added
4040

41+
- collabora:
42+
enabled: true
43+
domain: collabora.opencloud.test # Domain for Collabora.
44+
4145
# --- Networking Configuration ---
4246
- ingress:
4347
enabled: false # Disable traditional Ingress as Gateway API is used.
@@ -85,7 +89,7 @@ releases:
8589
officeSuites:
8690
- name: Collabora
8791
product: Collabora
88-
enabled: false
92+
enabled: true
8993
uri: "https://collabora.opencloud.test"
9094
insecure: true
9195
disableProof: false
@@ -102,7 +106,7 @@ releases:
102106
- wopi-collabora.kube.opencloud.test
103107
- name: OnlyOffice
104108
product: OnlyOffice
105-
enabled: true
109+
enabled: false
106110
uri: "https://onlyoffice.opencloud.test"
107111
insecure: true
108112
disableProof: false

charts/opencloud-full/templates/_common/_tplvalues.tpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ Adds the app names to the scope and set the name of the app based on the input p
9898
{{- $_ := set .scope "appNameOcm" "ocm" -}}
9999
{{- $_ := set .scope "appNameOcs" "ocs" -}}
100100
{{- $_ := set .scope "appNameOnlyOffice" "onlyoffice" -}}
101+
{{- $_ := set .scope "appNameCollabora" "collabora" -}}
101102
{{- $_ := set .scope "appNamePolicies" "policies" -}}
102103
{{- $_ := set .scope "appNamePostprocessing" "postprocessing" -}}
103104
{{- $_ := set .scope "appNameProxy" "proxy" -}}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{{- include "oc.basicServiceTemplates" (dict "scope" . "appName" "appNameCollabora" "appNameSuffix" "") -}}
2+
{{- if .Values.collabora.enabled }}
3+
apiVersion: apps/v1
4+
kind: Deployment
5+
{{ include "oc.metadata" . | nindent 0 }}
6+
spec:
7+
{{- include "oc.selector" . | nindent 2 }}
8+
replicas: 1
9+
template:
10+
{{- include "oc.templateMetadata" (dict "scope" $ "configCheck" false) | nindent 4 }}
11+
spec:
12+
containers:
13+
- name: collabora
14+
image: {{ .Values.collabora.repository }}:{{ .Values.collabora.tag | default "latest" }}
15+
imagePullPolicy: {{ .Values.collabora.pullPolicy | default "IfNotPresent" }}
16+
command: ['/bin/bash', '-c']
17+
args:
18+
- 'coolconfig generate-proof-key && /start-collabora-online.sh'
19+
env:
20+
- name: aliasgroup1
21+
value: 'http://collaboration-collabora:9300,https://{{ .Values.collabora.domain }},http://collaboration-collabora.{{ template "oc.namespace" $ }}.svc.cluster.local:9300'
22+
- name: DONT_GEN_SSL_CERT
23+
value: "YES"
24+
- name: extra_params
25+
value: |
26+
--o:ssl.enable={{ .Values.collabora.ssl.enabled }} \
27+
--o:ssl.ssl_verification={{ .Values.collabora.ssl.verification }} \
28+
--o:ssl.termination=true \
29+
--o:welcome.enable=false \
30+
--o:net.frame_ancestors={{ .Values.externalDomain }}
31+
- name: username
32+
value: "{{ .Values.collabora.admin.user | default "admin" }}"
33+
- name: password
34+
value: "{{ .Values.collabora.admin.password | default "admin" }}"
35+
ports:
36+
- containerPort: 9980
37+
name: http
38+
protocol: TCP
39+
resources:
40+
{{- toYaml .Values.collabora.resources | nindent 12 }}
41+
livenessProbe:
42+
httpGet:
43+
path: /hosting/discovery
44+
port: http
45+
initialDelaySeconds: 60
46+
periodSeconds: 10
47+
readinessProbe:
48+
httpGet:
49+
path: /hosting/discovery
50+
port: http
51+
initialDelaySeconds: 30
52+
periodSeconds: 10
53+
securityContext:
54+
capabilities:
55+
add:
56+
- MKNOD
57+
{{- end }}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{{- include "oc.basicServiceTemplates" (dict "scope" . "appName" "appNameCollabora" "appNameSuffix" "") -}}
2+
{{- if and .Values.collabora.enabled .Values.gateway.httproute.enabled }}
3+
apiVersion: gateway.networking.k8s.io/v1beta1
4+
kind: HTTPRoute
5+
metadata:
6+
name: {{ .Release.Name }}-collabora
7+
namespace: {{ template "oc.namespace" . }}
8+
labels:
9+
app: {{ .appName }}
10+
oc-metrics: enabled
11+
{{- include "oc.labels" . | nindent 4 }}
12+
spec:
13+
parentRefs:
14+
- name: {{ .Values.gateway.httproute.gateway.name }}
15+
namespace: {{ .Values.gateway.httproute.gateway.namespace }}
16+
sectionName: oc-collabora-https
17+
hostnames:
18+
- {{ .Values.collabora.domain }}
19+
rules:
20+
- matches:
21+
- path:
22+
type: PathPrefix
23+
value: /
24+
backendRefs:
25+
- name: {{ .appName }}
26+
port: 9980
27+
{{- end }}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{{- if and .Values.ingress.enabled .Values.collabora.enabled }}
2+
apiVersion: networking.k8s.io/v1
3+
kind: Ingress
4+
metadata:
5+
name: {{ include "opencloud.fullname" . }}-collabora
6+
annotations:
7+
{{- toYaml .Values.ingress.annotations | nindent 4 }}
8+
spec:
9+
{{- if .Values.ingress.ingressClassName }}
10+
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
11+
{{- end }}
12+
{{- if .Values.global.tls.enabled }}
13+
tls:
14+
- hosts:
15+
- {{ .Values.global.domain.collabora | quote }}
16+
secretName: {{ .Values.global.tls.secretName }}
17+
{{- end }}
18+
rules:
19+
- host: {{ .Values.global.domain.collabora | quote }}
20+
http:
21+
paths:
22+
- path: /
23+
pathType: Prefix
24+
backend:
25+
service:
26+
name: {{ include "opencloud.fullname" . }}-collabora
27+
port:
28+
number: 9980
29+
{{- end }}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{{- include "oc.basicServiceTemplates" (dict "scope" . "appName" "appNameCollabora" "appNameSuffix" "") -}}
2+
{{- if .Values.collabora.enabled }}
3+
apiVersion: v1
4+
kind: Service
5+
{{ include "oc.metadata" . | nindent 0 }}
6+
spec:
7+
type: ClusterIP
8+
ports:
9+
- port: 9980
10+
targetPort: http
11+
protocol: TCP
12+
name: http
13+
selector:
14+
app: {{ .appName }}
15+
{{- end }}

0 commit comments

Comments
 (0)