-
Notifications
You must be signed in to change notification settings - Fork 27
docs: add comprehensive HA configuration section #102
base: main
Are you sure you want to change the base?
Conversation
- Added dedicated High Availability (HA) Configuration section - Documented OC_EXCLUDE_RUN_SERVICES=idp,idm requirement from issue #53 - Added external NATS configuration for distributed messaging - Included complete HA example with all required settings - Updated opencloud.replicas description to clarify RWX storage requirement - Added opencloud.excludeServices to parameter documentation - Listed recommended storage solutions (CephFS, GlusterFS, NFS v4) - Clarified that persistence should NOT be disabled for HA Addresses action items from issue #53 where @micbar provided the solution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive documentation for High Availability (HA) configuration to the OpenCloud Helm chart README, addressing gaps identified in issue #53. The documentation provides clear guidance on configuring multi-replica deployments with external dependencies.
- Added dedicated HA configuration section with prerequisites, service exclusion methods, and complete examples
- Updated parameter descriptions to clarify HA requirements and correct misleading information about persistence
- Added documentation for the
excludeServicesparameter that was previously undocumented
charts/opencloud/README.md
Outdated
| ### Important Notes | ||
| - You need RWX storage or external S3 storage, not disabled persistence. | ||
| - Each OpenCloud instance needs access to the same data, which requires either RWX volumes or external S3 storage. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @michaelstingl for the PR!
I think that the requirement is a RWX Volume and an external S3 storage. I will test it.
|
I installed the helm-chart in a fresh namespace with the following setup: apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: opencloud
spec:
releaseName: opencloud
interval: 12h
chart:
spec:
chart: opencloud
sourceRef:
kind: HelmRepository
name: opencloud
namespace: opencloud-dev
version: "0.2.3"
values:
global:
tls:
enabled: true
secretName: opencloud-wildcard-tls
selfSigned: true
domain:
keycloak: keycloak-dev.timherbert.de
opencloud: opencloud-dev.timherbert.de
wopi: wopiserver-dev.timherbert.de
collabora: collabora-dev.timherbert.de
onlyoffice: onlyoffice-dev.timherbert.de
companion: companion-dev.timherbert.de
collabora:
enabled: true
ssl:
enabled: false
verification: false
onlyoffice:
enabled: false
opencloud:
replicas: 3
logLevel: warn
excludeServices:
- "idp"
- "idm"
persistence:
enabled: true
accessMode: ReadWriteMany
storageClass: "longhorn"
nats:
external:
enabled: true
endpoint: nats.opencloud-dev.svc.cluster.local:4222
cluster: opencloud-cluster
tls:
enabled: falseP.S: I used the keycloak instance from the helm-chart instead of my own for testing. For sure, it´s absolutely right to require a external (ha) keycloak deployment. I added also the nats and nack deployment from butonic´s last PR from here: https://github.com/opencloud-eu/helm/tree/main/deployments/nats With the following setup, the opencloud pods can´t start and I see the following: Pod overview: Logs from opencloud pods Here is the openclod deployment: I am not sure, if I did a mistake in a deployment or there is a parameter or something missing. |
|
Maybe @micbar can help? |
- Add auth-basic to excludeServices to prevent LDAP cert lookup errors - Fix duplicate YAML keys in HA example (storage config under opencloud) - Clarify that BOTH RWX and S3 storage are required for HA - Add note about auth-basic exclusion for external authentication
|
@Tim-herbie Thank you for testing the HA configuration! I think I found the issue with your setup. The ProblemThe The SolutionYou need to also exclude the opencloud:
excludeServices:
- "idp"
- "idm"
- "auth-basic" # Add this!Why This WorksWhen using external authentication (Keycloak in your case):
This is how opencloud-compose handles external authentication - they don't use the Updated PRI've updated this PR to:
Could you please test again with Update: I've also created an OpenCloud issue to improve this behavior: opencloud-eu/opencloud#1271 The auth-basic service should handle IDM exclusion more intelligently instead of requiring manual exclusion. |
|
Based on @micbar's feedback in opencloud-eu/opencloud#1271 (comment), I'm converting this PR to a Draft for now. He questions whether auth-basic actually accesses the IDM certificate, suggesting that services should be cleanly separated. We need to clarify this before proceeding with the documentation update. |
Summary
This PR adds comprehensive High Availability (HA) documentation based on the findings and solutions discussed in issue #53.
Changes
OC_EXCLUDE_RUN_SERVICES=idp,idmsolution provided by @micbaropencloud.replicasparameter description to clarify requirementsopencloud.excludeServicesto the parameter documentationKey Documentation Added
1. Prerequisites for HA
2. Disabling Embedded Services
excludeServicesarray3. Complete HA Example
4. Storage Requirements
Addresses
opencloud.replicasdescription that suggested disabling persistenceexcludeServicesparameterRelated Issues
Testing
cc @Tim-herbie @micbar - This documents the solution you discussed in #53