You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> This repository is maintained by the community and is **not** officially supported by OpenCloud GmbH.
4
+
>
5
+
> For **production-ready Helm charts** designed for **mission-critical** workloads, please use the enterprise offering, available with a [business subscription](https://opencloud.eu/en/product/service-and-support).
6
+
>
7
+
> To access **production-ready helm charts** get in touch with us via [contact form](https://opencloud.eu/en/contact-us) or Email [[email protected]](mailto:[email protected]).
2
8
3
-
# OpenCloud Helm Charts
9
+
# Community Helm Charts
4
10
5
11
Welcome to the **OpenCloud Helm Charts** repository! This repository is intended as a community-driven space for developing and maintaining Helm charts for deploying OpenCloud on Kubernetes.
12
+
**Community Maintained** This repository is **community-maintained** and **not officially supported by OpenCloud GmbH**. Use at your own risk, and feel free to contribute to improve the project!
6
13
7
14
## 📑 Table of Contents
8
15
@@ -110,6 +117,4 @@ A lightweight single-container deployment for development and testing:
110
117
111
118
This project is licensed under the **AGPLv3** license. See the [LICENSE](LICENSE) file for more details.
112
119
113
-
## Community Maintained
114
120
115
-
This repository is **community-maintained** and **not officially supported by OpenCloud GmbH**. Use at your own risk, and feel free to contribute to improve the project!
|`opencloud.storage.s3.external.createBucket`| Create bucket if it doesn't exist |`true`|
290
299
300
+
### OpenCloud PosixFS Storage Settings
301
+
302
+
The following options allow setting up a POSIX-compatible filesystem (such as NFS or CephFS) for user file storage instead of S3. This is useful for environments where object storage is not available or not desired.
303
+
304
+
| Parameter | Description | Default |
305
+
| --------- | ----------- | ------- |
306
+
|`opencloud.storage.posixfs.idCacheStore`| Cache store, between 'memory', 'redis-sentinel', 'nats-js-kv', 'noop' |`nats-js-kv`|
307
+
|`opencloud.storage.posixfs.rootPath`| Path of storage root directory in openCloud pod |`/var/lib/opencloud/storage`|
308
+
|`opencloud.storage.posixfs.persistence.enabled`| Enable persistence for PosixFS |`true`|
309
+
|`opencloud.storage.posixfs.persistence.existingClaim`| Name of existing PVC instead of the settings below |`""`|
310
+
|`opencloud.storage.posixfs.persistence.size`| Size of the PosixFS persistent volume |`30Gi`|
311
+
|`opencloud.storage.posixfs.persistence.storageClass`| Storage class for PosixFS volume |`""`|
312
+
|`opencloud.storage.posixfs.persistence.accessMode`| Access mode for PosixFS volume |`ReadWriteMany`|
313
+
314
+
**Note:** When using `posixfs` mode, ensure that the underlying storage supports the required access mode (e.g., `ReadWriteMany` for multiple replicas). The underlying filesystem must support `flock` and `xattrs` so for NFS the minimum version is 4.2.
315
+
291
316
### NATS Messaging Configuration
292
317
293
318
| Parameter | Description | Default |
@@ -409,6 +434,38 @@ This ensures the `X-Forwarded-Proto: https` header is added as required by OnlyO
409
434
|`collaboration.enabled`| Enable collaboration service |`true`|
This chart supports standard Kubernetes Ingress resources for exposing services. For environments requiring specific ingress controller features, annotation presets are available.
|`ingress.ingressClassName`| Ingress class name (e.g., nginx, traefik) |`""`|
447
+
|`ingress.annotationsPreset`| Preset for ingress controller annotations |`""`|
448
+
|`ingress.annotations`| Custom annotations for all ingress resources |`{}`|
449
+
450
+
### Annotation Presets
451
+
452
+
The `annotationsPreset` parameter helps configure ingress controller-specific features, particularly for OnlyOffice which requires the X-Forwarded-Proto header:
453
+
454
+
- `nginx` - Uses configuration snippets to inject headers
455
+
- `nginx-no-snippets` - For environments where snippets are forbidden (e.g., Rackspace)
Example for Rackspace or security-restricted environments:
462
+
```yaml
463
+
ingress:
464
+
enabled: true
465
+
ingressClassName: nginx
466
+
annotationsPreset: nginx-no-snippets
467
+
```
468
+
412
469
## Gateway API Configuration
413
470
414
471
This chart includes HTTPRoute resources that can be used to expose the OpenCloud, Keycloak, and MinIO services externally. The HTTPRoutes are configured to route traffic to the respective services.
@@ -420,6 +477,7 @@ This chart includes HTTPRoute resources that can be used to expose the OpenCloud
420
477
|`httpRoute.enabled`| Enable HTTPRoutes |`true`|
421
478
|`httpRoute.gateway.name`| Gateway name |`opencloud-gateway`|
422
479
|`httpRoute.gateway.namespace`| Gateway namespace |`""` (defaults to Release.Namespace) |
480
+
|`httpRoute.gateway.sectionName`| Gateway section name |`""` (defaults to multiple route-specific section names for the routes listed below) |
423
481
424
482
The following HTTPRoutes are created when `httpRoute.enabled` is set to `true`:
425
483
@@ -435,7 +493,7 @@ The following HTTPRoutes are created when `httpRoute.enabled` is set to `true`:
435
493
- Port: 8080
436
494
- Headers: Adds Permissions-Policy header to prevent browser features like interest-based advertising
437
495
438
-
3. **MinIO HTTPRoute** (when `opencloud.storage.s3.internal.enabled` is `true`):
496
+
3. **MinIO HTTPRoute** (when `opencloud.storage.mode` is `s3` and `opencloud.storage.s3.internal.enabled` is `true`):
439
497
- Hostname: `global.domain.minio`
440
498
- Service: `{{ release-name }}-minio`
441
499
- Port: 9001
@@ -470,7 +528,7 @@ The following HTTPRoutes are created when `httpRoute.enabled` is set to `true`:
470
528
- Port: 9300
471
529
- Headers: Adds Permissions-Policy header to prevent browser features like interest-based advertising
472
530
473
-
All HTTPRoutes are configured to use the same Gateway specified by `httpRoute.gateway.name` and `httpRoute.gateway.namespace`.
531
+
All HTTPRoutes are configured to use the same Gateway specified by `httpRoute.gateway.name` and `httpRoute.gateway.namespace`. If `httpRoute.gateway.sectionName` is set, they also all use a single section (e.g. `https`) in the gateway resource (useful when `httpRoute.gateway.create` is `false` because a gateway already exists). Otherwise, when `httpRoute.gateway.sectionName` is left empty, each route gets its own generated `sectionName` that points to a section in the gateway resource that is automatically set up when `httpRoute.gateway.create` is `true`.
474
532
475
533
## Setting Up Gateway API with Talos, Cilium, and cert-manager
{{- if and .Values.opencloud.storage.s3.internal.enabled .Values.opencloud.storage.s3.internal.httpRoute.enabled }}
72
+
{{- if and (eq .Values.opencloud.storage.mode "s3") .Values.opencloud.storage.s3.internal.enabled .Values.opencloud.storage.s3.internal.httpRoute.enabled }}
Copy file name to clipboardExpand all lines: charts/opencloud/templates/gateway/minio-httproute.yaml
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
{{- if and .Values.httpRoute.enabled .Values.opencloud.storage.s3.internal.enabled .Values.opencloud.storage.s3.internal.httpRoute.enabled }}
1
+
{{- if and .Values.httpRoute.enabled (eq .Values.opencloud.storage.mode "s3") .Values.opencloud.storage.s3.internal.enabled .Values.opencloud.storage.s3.internal.httpRoute.enabled }}
0 commit comments