Skip to content

Commit a11e28a

Browse files
author
Your Name
committed
enable posix
1 parent b93f06d commit a11e28a

File tree

12 files changed

+196
-40
lines changed

12 files changed

+196
-40
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ A lightweight single-container deployment for development and testing:
103103

104104
## 📜 License
105105

106-
This project is licensed under the **AGPLv3** licence. See the [LICENSE](LICENSE) file for more details.
106+
This project is licensed under the **AGPLv3** license. See the [LICENSE](LICENSE) file for more details.
107107

108108
## Community Maintained
109109

charts/opencloud-microservices/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ maintainers:
1212
1313
url: https://opencloud.eu
1414
type: application
15-
version: 0.1.0
15+
version: 0.2.0
1616
# renovate: datasource=docker depName=opencloudeu/opencloud-rolling
17-
appVersion: 3.2.0
17+
appVersion: 3.2.1
1818
kubeVersion: ""
1919
sources:
2020
- https://github.com/opencloud-eu/helm

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

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,22 @@ releases:
2727
enabled: true # Enable Keycloak for authentication.
2828
domain: keycloak.opencloud.test # Domain for Keycloak.
2929
- minio:
30-
enabled: true # Enable MinIO for object storage.
30+
enabled: false # Enable MinIO for object storage.
3131
domain: minio.opencloud.test # Domain for MinIO.
3232
config:
3333
persistence:
3434
size: "40Gi"
35+
accessModes:
36+
- ReadWriteMany
37+
storageClassName: ceph-cephfs
3538
- onlyoffice:
3639
enabled: false
3740
domain: onlyoffice.opencloud.test # Domain for OnlyOffice.
3841
persistence:
39-
size: "2Gi" # Added
42+
size: "2Gi"
43+
accessModes:
44+
- ReadWriteMany
45+
storageClassName: ceph-cephfs
4046

4147
- collabora:
4248
enabled: true
@@ -118,31 +124,49 @@ releases:
118124
persistence:
119125
enabled: true
120126
size: "10Gi"
127+
accessModes:
128+
- ReadWriteMany
129+
storageClassName: ceph-cephfs
121130
search:
122131
persistence:
123132
enabled: true
124133
size: "10Gi"
134+
accessModes:
135+
- ReadWriteMany
136+
storageClassName: ceph-cephfs
125137
extractor:
126138
type: tika
127139
storagesystem:
128140
persistence:
129141
enabled: true
130142
size: "5Gi"
143+
accessModes:
144+
- ReadWriteMany
145+
storageClassName: ceph-cephfs
131146
storageusers:
132147
persistence:
133148
enabled: true
134-
size: "50Gi"
149+
size: "60Gi"
150+
accessModes:
151+
- ReadWriteMany
152+
storageClassName: ceph-cephfs
135153
storageBackend:
136-
driver: decomposeds3
137-
154+
driver: posix
155+
138156
thumbnails:
139157
persistence:
140158
enabled: true
141159
size: "10Gi"
160+
accessModes:
161+
- ReadWriteMany
162+
storageClassName: ceph-cephfs
142163
web:
143164
persistence:
144165
enabled: true
145166
size: "1Gi"
167+
accessModes:
168+
- ReadWriteMany
169+
storageClassName: ceph-cephfs
146170
config:
147171
oidc:
148172
webClientID: web
@@ -215,10 +239,16 @@ releases:
215239
persistence:
216240
enabled: false
217241
size: "10Gi"
242+
accessModes:
243+
- ReadWriteMany
244+
storageClassName: ceph-cephfs
218245
ocm:
219246
persistence:
220247
enabled: false
221248
size: "1Gi"
249+
accessModes:
250+
- ReadWriteMany
251+
storageClassName: ceph-cephfs
222252
- extraResources:
223253
- |
224254
apiVersion: v1

charts/opencloud-microservices/deployments/timoni/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Install/Upgrate
1+
# Install/Upgrade
22
kubectl apply -f ./charts/opencloud-microservices/deployments/timoni/ && \
33
timoni bundle apply -f ./charts/opencloud-microservices/deployments/timoni/opencloud.cue --runtime ./charts/opencloud-microservices/deployments/timoni/runtime.cue
44

charts/opencloud-microservices/deployments/timoni/configmap.yaml

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,36 +18,37 @@ data:
1818
# Global Configuration
1919
###############################################################################
2020
EXTERNAL_DOMAIN: "cloud.opencloud.test"
21+
TAG: "3.0.0"
22+
2123
OPENCLOUD_WEB_URL: "https://www.opencloud.eu"
2224
OPENCLOUD_LOGGING_LEVEL: "debug"
25+
26+
###############################################################################
27+
# Ingress
28+
###############################################################################
2329
INGRESS_ENABLED: "false"
2430
INGRESS_CLASS_NAME: "nginx"
2531
INGRESS_PROXY_BODY_SIZE: "1024m"
2632
GATEWAY_HTTPROUTE_ENABLED: "true"
27-
APPS_INTEGRATION_ENABLED: "true"
28-
WEB_OIDC_WEB_CLIENT_ID: "web"
29-
IDM_PERSISTENCE_ENABLED: "false"
30-
IDM_PERSISTENCE_SIZE: "10Gi"
31-
NATS_PERSISTENCE_ENABLED: "true"
32-
NATS_PERSISTENCE_SIZE: "10Gi"
33-
OCM_PERSISTENCE_ENABLED: "false"
34-
OCM_PERSISTENCE_SIZE: "1Gi"
35-
ONLYOFFICE_PERSISTENCE_SIZE: "2Gi"
36-
SEARCH_EXTRACTOR_TYPE: "tika"
37-
SEARCH_PERSISTENCE_ENABLED: "true"
38-
SEARCH_PERSISTENCE_SIZE: "10Gi"
39-
STORAGE_USERS_BACKEND_DRIVER: "decomposeds3"
40-
STORAGE_SYSTEM_PERSISTENCE_ENABLED: "true"
41-
STORAGE_SYSTEM_PERSISTENCE_SIZE: "5Gi"
42-
STORAGE_USERS_PERSISTENCE_ENABLED: "true"
43-
STORAGE_USERS_PERSISTENCE_SIZE: "50Gi"
44-
THUMBNAILS_PERSISTENCE_ENABLED: "true"
45-
THUMBNAILS_PERSISTENCE_SIZE: "10Gi"
46-
WEB_PERSISTENCE_ENABLED: "true"
47-
WEB_PERSISTENCE_SIZE: "1Gi"
4833

34+
###############################################################################
35+
# OIDC Configuration
36+
###############################################################################
4937
OIDC_IDP_INSECURE: "true"
5038
OC_HTTP_API_INSECURE: "true"
39+
APPS_INTEGRATION_ENABLED: "true"
40+
WEB_OIDC_WEB_CLIENT_ID: "web"
41+
42+
###############################################################################
43+
# Persistence StorageClass and AccessModes (global defaults)
44+
###############################################################################
45+
PERSISTENCE_STORAGE_CLASS_NAME: "ceph-cephfs"
46+
# Comma-separated for runtime to split into a list, e.g. "ReadWriteMany" or "ReadWriteOnce,ReadOnlyMany"
47+
PERSISTENCE_ACCESS_MODES: "ReadWriteMany"
48+
49+
# NATS specific persistence options
50+
# When true, a root init container will chown the NATS data volume before the main container starts.
51+
NATS_PERSISTENCE_CHOWN_INIT_CONTAINER: "false"
5152

5253
###############################################################################
5354
# Internal Keycloak (for testing only)
@@ -59,7 +60,7 @@ data:
5960
# Internal Minio (for testing only)
6061
###############################################################################
6162
MINIO_DOMAIN: "minio.opencloud.test"
62-
MINIO_ENABLED: "true"
63+
MINIO_ENABLED: "false"
6364
MINIO_PERSISTENCE_SIZE: "40Gi"
6465

6566
###############################################################################

charts/opencloud-microservices/deployments/timoni/opencloud.cue

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,16 @@ bundle: {
3232
createNamespace: true
3333
}
3434
helmValues: {
35+
// Global persistence indirection (like _domainFilter pattern)
36+
_persistenceStorageClassName: string @timoni(runtime:string:PERSISTENCE_STORAGE_CLASS_NAME)
37+
_persistenceAccessModes: string @timoni(runtime:string:PERSISTENCE_ACCESS_MODES)
3538
logging: {
3639
level: string @timoni(runtime:string:OPENCLOUD_LOGGING_LEVEL)
3740
}
3841
externalDomain: string @timoni(runtime:string:EXTERNAL_DOMAIN)
42+
image: {
43+
tag: string @timoni(runtime:string:TAG)
44+
}
3945
keycloak: {
4046
enabled: bool @timoni(runtime:bool:KEYCLOAK_ENABLED)
4147
domain: string @timoni(runtime:string:KEYCLOAK_DOMAIN)
@@ -177,12 +183,17 @@ bundle: {
177183
persistence: {
178184
enabled: bool @timoni(runtime:bool:NATS_PERSISTENCE_ENABLED)
179185
size: string @timoni(runtime:string:NATS_PERSISTENCE_SIZE)
186+
storageClassName: "\(_persistenceStorageClassName)"
187+
accessModes: [ "\(_persistenceAccessModes)" ]
188+
chownInitContainer: bool @timoni(runtime:bool:NATS_PERSISTENCE_CHOWN_INIT_CONTAINER)
180189
}
181190
}
182191
search: {
183192
persistence: {
184193
enabled: bool @timoni(runtime:bool:SEARCH_PERSISTENCE_ENABLED)
185194
size: string @timoni(runtime:string:SEARCH_PERSISTENCE_SIZE)
195+
storageClassName: "\(_persistenceStorageClassName)"
196+
accessModes: [ "\(_persistenceAccessModes)" ]
186197
}
187198
extractor: {
188199
type: string @timoni(runtime:string:SEARCH_EXTRACTOR_TYPE)
@@ -192,12 +203,16 @@ bundle: {
192203
persistence: {
193204
enabled: bool @timoni(runtime:bool:STORAGE_SYSTEM_PERSISTENCE_ENABLED)
194205
size: string @timoni(runtime:string:STORAGE_SYSTEM_PERSISTENCE_SIZE)
206+
storageClassName: "\(_persistenceStorageClassName)"
207+
accessModes: [ "\(_persistenceAccessModes)" ]
195208
}
196209
}
197210
storageusers: {
198211
persistence: {
199212
enabled: bool @timoni(runtime:bool:STORAGE_USERS_PERSISTENCE_ENABLED)
200213
size: string @timoni(runtime:string:STORAGE_USERS_PERSISTENCE_SIZE)
214+
storageClassName: "\(_persistenceStorageClassName)"
215+
accessModes: [ "\(_persistenceAccessModes)" ]
201216
}
202217
storageBackend: {
203218
driver: string @timoni(runtime:string:STORAGE_USERS_BACKEND_DRIVER)
@@ -207,12 +222,16 @@ bundle: {
207222
persistence: {
208223
enabled: bool @timoni(runtime:bool:THUMBNAILS_PERSISTENCE_ENABLED)
209224
size: string @timoni(runtime:string:THUMBNAILS_PERSISTENCE_SIZE)
225+
storageClassName: "\(_persistenceStorageClassName)"
226+
accessModes: [ "\(_persistenceAccessModes)" ]
210227
}
211228
}
212229
web: {
213230
persistence: {
214231
enabled: bool @timoni(runtime:bool:WEB_PERSISTENCE_ENABLED)
215232
size: string @timoni(runtime:string:WEB_PERSISTENCE_SIZE)
233+
storageClassName: "\(_persistenceStorageClassName)"
234+
accessModes: [ "\(_persistenceAccessModes)" ]
216235
}
217236
config: {
218237
oidc: {
@@ -332,12 +351,16 @@ bundle: {
332351
persistence: {
333352
enabled: bool @timoni(runtime:bool:IDM_PERSISTENCE_ENABLED)
334353
size: string @timoni(runtime:string:IDM_PERSISTENCE_SIZE)
354+
storageClassName: "\(_persistenceStorageClassName)"
355+
accessModes: [ "\(_persistenceAccessModes)" ]
335356
}
336357
}
337358
ocm: {
338359
persistence: {
339360
enabled: bool @timoni(runtime:bool:OCM_PERSISTENCE_ENABLED)
340361
size: string @timoni(runtime:string:OCM_PERSISTENCE_SIZE)
362+
storageClassName: "\(_persistenceStorageClassName)"
363+
accessModes: [ "\(_persistenceAccessModes)" ]
341364
}
342365
}
343366
}
@@ -504,4 +527,3 @@ bundle: {
504527
}
505528
}
506529
}
507-

charts/opencloud-microservices/deployments/timoni/runtime.cue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ runtime: {
4444
{
4545
query: "k8s:v1:ConfigMap:opencloud:opencloud-config"
4646
for: {
47+
"TAG": "obj.data.TAG"
4748
"EXTERNAL_DOMAIN": "obj.data.EXTERNAL_DOMAIN"
4849
"KEYCLOAK_DOMAIN": "obj.data.KEYCLOAK_DOMAIN"
4950
"MINIO_DOMAIN": "obj.data.MINIO_DOMAIN"
@@ -66,6 +67,8 @@ runtime: {
6667
"INGRESS_CLASS_NAME": "obj.data.INGRESS_CLASS_NAME"
6768
"INGRESS_PROXY_BODY_SIZE": "obj.data.INGRESS_PROXY_BODY_SIZE"
6869
"GATEWAY_HTTPROUTE_ENABLED": "obj.data.GATEWAY_HTTPROUTE_ENABLED"
70+
"PERSISTENCE_STORAGE_CLASS_NAME": "obj.data.PERSISTENCE_STORAGE_CLASS_NAME"
71+
"PERSISTENCE_ACCESS_MODES": "obj.data.PERSISTENCE_ACCESS_MODES"
6972
"EXTERNAL_USER_MANAGEMENT_ENABLED": "obj.data.EXTERNAL_USER_MANAGEMENT_ENABLED"
7073
"EXTERNAL_USER_MANAGEMENT_ADMIN_UUID": "obj.data.EXTERNAL_USER_MANAGEMENT_ADMIN_UUID"
7174
"AUTOPROVISION_ACCOUNTS_ENABLED": "obj.data.AUTOPROVISION_ACCOUNTS_ENABLED"
@@ -116,10 +119,12 @@ runtime: {
116119
"WEB_PERSISTENCE_ENABLED": "obj.data.WEB_PERSISTENCE_ENABLED"
117120
"WEB_PERSISTENCE_SIZE": "obj.data.WEB_PERSISTENCE_SIZE"
118121
"ONLYOFFICE_PERSISTENCE_SIZE": "obj.data.ONLYOFFICE_PERSISTENCE_SIZE"
122+
"NATS_PERSISTENCE_CHOWN_INIT_CONTAINER": "obj.data.NATS_PERSISTENCE_CHOWN_INIT_CONTAINER"
119123
}
120124
}
121125
]
122126
defaults: {
127+
TAG: ""
123128
LDAP_ADMIN_PASSWORD: "admin"
124129
LDAP_CONFIG_PASSWORD: "config"
125130
AMQP_URL: "amqp://guest:Dd0SXIe1k9osdfjkmA0TK1bb1B1d38OFSb@localhost"
@@ -179,7 +184,7 @@ runtime: {
179184
ONLYOFFICE_DISABLE_PROOF: false
180185
ONLYOFFICE_INGRESS_ENABLED: false
181186
SEARCH_EXTRACTOR_TYPE: "tika"
182-
STORAGE_USERS_BACKEND_DRIVER: "decomposeds3"
187+
STORAGE_USERS_BACKEND_DRIVER: "posix"
183188
WEB_OIDC_WEB_CLIENT_ID: "web"
184189
IDM_PERSISTENCE_ENABLED: false
185190
OPENLDAP_LTB_PASSWD_ENABLED: false
@@ -204,6 +209,9 @@ runtime: {
204209
THUMBNAILS_PERSISTENCE_SIZE: "10Gi"
205210
WEB_PERSISTENCE_SIZE: "1Gi"
206211
ONLYOFFICE_PERSISTENCE_SIZE: "2Gi"
212+
PERSISTENCE_STORAGE_CLASS_NAME: ""
213+
PERSISTENCE_ACCESS_MODES: "ReadWriteOnce"
214+
NATS_PERSISTENCE_CHOWN_INIT_CONTAINER: true
207215

208216
LDAP_ENABLED: true
209217
TIKA_ENABLED: true

charts/opencloud-microservices/templates/minio/deployment.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ spec:
1313
fsGroup: 1000
1414
initContainers:
1515
- name: init-minio-bucket
16-
image: "{{ .Values.minio.image.registry }}/busybox:{{ .Values.minio.image.tag }}"
17-
imagePullPolicy: {{.Values.minio.image.pullPolicy | default "IfNotPresent" }}
16+
image: "{{ .Values.initContainerImage.repository }}:{{ .Values.initContainerImage.tag }}"
17+
imagePullPolicy: {{ .Values.initContainerImage.pullPolicy | default "IfNotPresent" }}
1818
securityContext:
1919
runAsUser: 1000
2020
runAsGroup: 1000
@@ -26,7 +26,7 @@ spec:
2626
containers:
2727
- name: minio
2828
image: "{{ .Values.minio.image.registry }}/{{ .Values.minio.image.repository }}:{{ .Values.minio.image.tag | default .Values.minio.version }}"
29-
imagePullPolicy: {{.Values.minio.image.pullPolicy | default "IfNotPresent" }}
29+
imagePullPolicy: {{ .Values.minio.image.pullPolicy | default "IfNotPresent" }}
3030
args:
3131
- server
3232
- --console-address

charts/opencloud-microservices/templates/minio/pvc.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,16 @@ metadata:
1313
{{- include "oc.labels" . | nindent 4 }}
1414
spec:
1515
accessModes:
16+
{{- if .Values.minio.config.persistence.accessModes }}
17+
{{- range .Values.minio.config.persistence.accessModes }}
18+
- {{ . }}
19+
{{- end }}
20+
{{- else }}
1621
- ReadWriteOnce
22+
{{- end }}
23+
{{- if .Values.minio.config.persistence.storageClassName }}
24+
storageClassName: {{ .Values.minio.config.persistence.storageClassName }}
25+
{{- end }}
1726
resources:
1827
requests:
1928
storage: {{ .Values.minio.config.persistence.size }}

charts/opencloud-microservices/templates/onlyoffice/pvc.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,16 @@ metadata:
1212
{{- include "oc.labels" . | nindent 4 }}
1313
spec:
1414
accessModes:
15+
{{- if .Values.onlyoffice.persistence.accessModes }}
16+
{{- range .Values.onlyoffice.persistence.accessModes }}
17+
- {{ . }}
18+
{{- end }}
19+
{{- else }}
1520
- ReadWriteOnce
21+
{{- end }}
22+
{{- if .Values.onlyoffice.persistence.storageClassName }}
23+
storageClassName: {{ .Values.onlyoffice.persistence.storageClassName }}
24+
{{- end }}
1625
resources:
1726
requests:
1827
storage: {{ .Values.onlyoffice.persistence.size | default "5Gi" }}

0 commit comments

Comments
 (0)