This repository was archived by the owner on Nov 26, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 34
Expand file tree
/
Copy pathvalues.yaml
More file actions
734 lines (654 loc) · 21.1 KB
/
Copy pathvalues.yaml
File metadata and controls
734 lines (654 loc) · 21.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
# OpenCloud Helm Chart Values
# This is a YAML-formatted file with configuration values for the OpenCloud Helm chart.
# The file is organized into logical sections for different components of the system.
# =====================================================================
# SECURITY WARNING
# =====================================================================
# IMPORTANT: The following default credentials MUST be changed in production environments.
# Using these default values in production is a significant security risk.
#
# Credentials that need to be changed:
# 1. Keycloak Admin: adminUser: admin, adminPassword: admin
# 2. OpenCloud Admin: adminPassword: admin
# 3. PostgreSQL: user: keycloak, password: keycloak
# 4. MinIO: rootUser: opencloud, rootPassword: opencloud-secret-key
# 5. RabbitMQ: url: amqp://guest:guest@localhost
# =====================================================================
# GLOBAL SETTINGS
# =====================================================================
# Global settings that apply across components
global:
# Domain settings for various services
domain:
# Main domain for OpenCloud
opencloud: cloud.opencloud.test
# Domain for Keycloak
keycloak: keycloak.opencloud.test
# Domain for MinIO
minio: minio.opencloud.test
# Domain for WOPI server
wopi: wopiserver.opencloud.test
# Domain for Collabora CODE
collabora: collabora.opencloud.test
# Domain for OnlyOffice
onlyoffice: onlyoffice.opencloud.test
# Domain for Companion
companion: companion.opencloud.test
# TLS settings for secure connections
tls:
# Enable TLS (set to false when using gateway TLS termination externally)
enabled: false
# secretName for TLS certificate
secretName: ""
oidc:
# OpenID Connect issuer URL. If set, overrides the default Keycloak internal issuer URL.
# This is useful for external OIDC providers or custom Keycloak configurations.
# Example: https://keycloak.opencloud.test/realms/openCloud
issuer: ""
# OIDC client ID for OpenCloud
clientId: "web"
# Global storage settings
storage:
# Storage class for persistent volumes
storageClass: ""
# Global image settings
image:
# Global registry override - if set, it will override all image registries
# Example: my-private-registry.com
registry: ""
# Global pull policy override - if set, it will override all image pull policies
# Options: Always, IfNotPresent, Never
pullPolicy: ""
# =====================================================================
# UTILITY IMAGES
# =====================================================================
# Busybox image settings (used for init containers)
busybox:
image:
# Busybox image registry
registry: docker.io
# Busybox image repository
repository: library/busybox
# Busybox image tag
tag: "1.36"
# Image pull policy
pullPolicy: IfNotPresent
# =====================================================================
# IDENTITY PROVIDER (KEYCLOAK)
# =====================================================================
# Keycloak settings for identity and access management
# Structure follows issue #64 - standardized internal/external pattern
keycloak:
# Internal Keycloak deployment
internal:
# Enable internal Keycloak instance
enabled: true
# Keycloak image settings
image:
# Keycloak image registry
registry: quay.io
# Keycloak image repository
repository: keycloak/keycloak
# Keycloak image tag
tag: "26.1.4"
# Image pull policy
pullPolicy: IfNotPresent
# Number of Keycloak replicas
replicas: 1
# Use existing secret for keycloak credentials (Note: secretKeyName must be adminUser and adminPassword)
existingSecret: ""
# Admin user
# ignored if keycloak.internal.existingSecret is set
adminUser: admin
# Admin password
# ignored if keycloak.internal.existingSecret is set
adminPassword: admin
# Keycloak realm
realm: "openCloud"
# CORS settings for cross-origin requests
cors:
# Enable CORS
enabled: true
# Allow all origins
allowAllOrigins: true
# Allowed origins (used if allowAllOrigins is false)
origins: []
# Allowed methods
methods: "GET,POST,PUT,DELETE,OPTIONS"
# Allowed headers
headers: "Origin,Accept,Authorization,Content-Type,Cache-Control"
# Exposed headers
exposedHeaders: "Access-Control-Allow-Origin,Access-Control-Allow-Credentials"
# Allow credentials
allowCredentials: "true"
# Max age in seconds
maxAge: "3600"
# Resources
resources: {}
# PostgreSQL settings for Keycloak
postgres:
# Enable PostgreSQL
enabled: true
# PostgreSQL image settings
image:
# PostgreSQL image registry
registry: docker.io
# PostgreSQL image repository
repository: postgres
# PostgreSQL image tag
tag: "alpine"
# Image pull policy
pullPolicy: IfNotPresent
# Database name
database: keycloak
# Use existing secret for postgres credentials (Note: secretKeyName must be username and password)
existingSecret: ""
# Database user
# ignored if postgres.existingSecret is set
user: keycloak
# Database password
# ignored if postgres.existingSecret is set
password: keycloak
# Resources allocation
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
# Persistence configuration
persistence:
enabled: true
# Size of the persistent volume
size: 1Gi
# Storage class
storageClass: ""
# Access mode
accessMode: ReadWriteOnce
# =====================================================================
# IDENTITY MANAGEMENT (LDAP)
# =====================================================================
ldap:
internal:
# Enable OpenLDAP
enabled: false
# OpenLDAP image settings
image:
# OpenLDAP image registry
registry: docker.io
# OpenLDAP image repository
repository: bitnami/openldap
# OpenLDAP image tag
tag: "2.6"
# Image pull policy
pullPolicy: IfNotPresent
# Use existing secret for OpenLDAP credentials (Note: secretKeyName must be adminPassword)
existingSecret: ""
# Admin password
# ignored if ldap.internal.existingSecret is set
adminPassword: adminpass
# Persistence configuration
persistence:
enabled: true
# Size of the persistent volume
size: 1Gi
# Storage class
storageClass: ""
# Access mode
accessMode: ReadWriteOnce
# Resources allocation
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
# =====================================================================
# EXTENSIONS
# =====================================================================
# Tika settings for full-text search
tika:
# Enable Tika
enabled: true
# Tika image settings
image:
# Tika image registry
registry: docker.io
# Tika image repository
repository: apache/tika
# Tika image tag
tag: "2.9.2.1-full"
# Image pull policy
pullPolicy: IfNotPresent
# Resources allocation
resources:
requests:
cpu: 100m
memory: 1Gi
limits:
cpu: 1000m
memory: 3Gi
# Web Extensions settings
webExtensions:
# Enable web extensions
enabled: true
# Common image settings for all extensions
image:
# Registry for web extensions
registry: docker.io
# Repository for web extensions
repository: opencloudeu/web-extensions
# Image pull policy
pullPolicy: IfNotPresent
# List of extensions to install
extensions:
# Draw.io extension
drawio:
enabled: true
tag: draw-io-1.0.0
# External Sites extension
externalsites:
enabled: true
tag: external-sites-1.0.0
# Importer extension
importer:
enabled: true
tag: importer-1.0.0
# JSON Viewer extension
jsonviewer:
enabled: true
tag: json-viewer-1.0.0
# Progress Bars extension
progressbars:
enabled: true
tag: progress-bars-1.0.0
# Unzip extension
unzip:
enabled: true
tag: unzip-1.0.0
# =====================================================================
# COLLABORATION (COLLABORA)
# =====================================================================
collabora:
enabled: false
image:
registry: docker.io
repository: collabora/code
pullPolicy: IfNotPresent
tag: 24.04.13.2.1
ssl:
enabled: true
verification: true
# Use existing secret for collabora credentials (Note: secretKeyName must be username and password)
existingSecret: ""
admin:
# ignored if collabora.existingSecret is set
user: admin
# ignored if collabora.existingSecret is set
password: admin
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 1
memory: 1Gi
# =====================================================================
# COLLABORATION (ONLYOFFICE)
# =====================================================================
# OnlyOffice settings for document collaboration
onlyoffice:
# Enable OnlyOffice
enabled: true
# OnlyOffice image settings
image:
# OnlyOffice image registry
registry: docker.io
# OnlyOffice image repository
repository: onlyoffice/documentserver
# OnlyOffice image tag
tag: 8.2.2
# Image pull policy
pullPolicy: IfNotPresent
# WOPI settings
wopi:
# Enable WOPI
enabled: true
# Use unauthorized storage (for self-signed certificates)
useUnauthorizedStorage: true
# Database configuration
db:
# Use existing secret for database password
existingSecret: ""
# Key in the existing secret that contains the password
secretKeyName: "password"
# Persistence configuration
persistence:
# Enable persistence
enabled: true
# Size of the persistent volume
size: 2Gi
# Resources allocation
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 5000m
memory: 10Gi
# Configuration for local.json
config:
# CoAuthoring service settings
coAuthoring:
# SQL database settings
sql:
type: "postgres"
dbHost: "localhost"
dbPort: "5432"
dbName: "onlyoffice"
dbUser: "onlyoffice"
# Secret settings
secret:
# Use existing secret for onlyoffice credentials (Note: secretKeyName must be sessionSecret)
existingSecret: ""
# ignored if onlyoffice.config.coAuthoring.secret.existingSecret is set
session:
string: "Dd0SXIe1k9oCfdffgrfNmA0TK1bb1B1d38OFSb"
# RabbitMQ settings
rabbitmq:
# Use existing secret for onlyoffice rabbitmq credentials (Note: secretKeyName must be url)
existingSecret: ""
# ignored if onlyoffice.config.rabbitmq.existingSecret is set
url: "amqp://guest:Dd0SXIe1k9osdfjkmA0TK1bb1B1d38OFSb@localhost"
# File converter settings
fileConverter:
converter:
inputLimits:
- type: "docx;dotx;docm;dotm"
zip:
uncompressed: "1GB"
template: "*.xml"
- type: "xlsx;xltx;xlsm;xltm"
zip:
uncompressed: "1GB"
template: "*.xml"
- type: "pptx;ppsx;potx;pptm;ppsm;potm"
zip:
uncompressed: "1GB"
template: "*.xml"
# Collaboration service settings
collaboration:
# Enable collaboration service
enabled: true
# Resources allocation
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 5000m
memory: 10Gi
# =====================================================================
# OPENCLOUD CORE
# =====================================================================
# Image settings for OpenCloud
image:
# OpenCloud image registry
registry: docker.io
# OpenCloud image repository
repository: opencloudeu/opencloud-rolling
# OpenCloud image tag
tag: "2.1.0"
# Image pull policy
pullPolicy: IfNotPresent
# Image pull secrets
pullSecrets: []
# OpenCloud core settings
opencloud:
# Enable OpenCloud
enabled: true
# Number of replicas (Note: When using multiple replicas, persistence should be disabled
# or use a storage class that supports ReadWriteMany access mode)
replicas: 1
# Log level
logLevel: info
# Log color
logColor: false
# Log pretty
logPretty: false
# Insecure mode (for self-signed certificates)
insecure: true
# Use existing secret for opencloud admin credentials (Note: secretKeyName must be adminPassword)
existingSecret: ""
# Admin password
# ignored if opencloud.existingSecret is set
adminPassword: admin
# Create demo users
createDemoUsers: false
# Additional services to start
additionalServices: []
# Services to exclude from starting
excludeServices:
- "idp"
env: []
envFrom: []
# Resources allocation
resources:
requests:
cpu: 128m
memory: 128Mi
limits:
memory: 20Gi
# Persistence configuration
persistence:
# Enable persistence
enabled: true
# Size of the persistent volume for data
size: 30Gi
# Size of the persistent volume for config
configSize: 5Gi
# Storage class
storageClass: ""
# Access mode (ReadWriteOnce or ReadWriteMany for multiple replicas)
accessMode: ReadWriteOnce
# Configuration files
config:
theme: "owncloud"
# App registry configuration
appRegistry: {}
# CSP configuration
csp: {}
# Banned password list configuration
# Format: Multi-line string (not YAML array)
# Use the |- syntax to preserve line breaks
# Add one password per line - do not use YAML list syntax (no dashes)
# Example:
# bannedPasswordList: |-
# password1
# password2
# password3
# For very long lists override the file 'files/opencloud/banned-password-list.txt'
bannedPasswordList: |-
nats:
external:
# -- Use an external NATS messaging system instead of the internal one.
# Recommended for all production instances.
# Needs to be used if HighAvailability is needed.
# Needs to be used if OpenCloud shall be used by more than a 2-digit user count.
enabled: false
# -- Endpoint of the messaging system.
endpoint: nats.opencloud-nats.svc.cluster.local:4222
# -- Cluster name to use with the messaging system.
cluster: opencloud-cluster
tls:
# -- Enables TLS encrypted communication with the messaging system.
# Recommended for production installations.
enabled: false
# -- Set only to false, if the certificate of your messaging system service is not trusted.
# If set to false, you need to put the CA cert of the messaging system server into the secret referenced by "caSecretName"
certTrusted: true
# -- Disables SSL certificate checking for connections to the messaging system server.
# -- For self signed certificates, consider to put the CA cert of the messaging system secure server into the secret referenced by "caSecretName"
# Not recommended for production installations.
insecure: false
# Use existing CA secret for nats credentials (Note: secretKeyName must be 'ca.crt' with the root CA certificate for NATS)
# Only used if certTrusted is false
caSecretName : opencloud-nats-ca
# =====================================================================
# EMAIL (SMTP)
# =====================================================================
# SMTP settings for email notifications
smtp:
# Enable SMTP
enabled: false
# SMTP host
host: ""
# SMTP port
port: "587"
# SMTP sender
sender: ""
# Use existing secret for opencloud smtp credentials (Note: secretKeyName must be smtpUser and smtpPassword)
existingSecret: ""
# SMTP username
# ignored if opencloud.smtp.existingSecret is set
username: ""
# SMTP password
# ignored if opencloud.smtp.existingSecret is set
password: ""
# SMTP insecure (allow self-signed certificates)
insecure: "false"
# SMTP authentication method
authentication: "plain"
# SMTP encryption method
encryption: "starttls"
# =====================================================================
# STORAGE CONFIGURATION
# =====================================================================
# Storage configuration
storage:
# S3 storage configuration
s3:
# Internal MinIO instance
internal:
# Enable internal test MinIO instance (default: true)
enabled: true
# MinIO image settings
image:
# MinIO image registry
registry: docker.io
# MinIO image repository
repository: minio/minio
# MinIO image tag
tag: latest
# Image pull policy
pullPolicy: IfNotPresent
# httpRoute configuration
httpRoute:
# Enable HTTPRoute for MinIO (default: false)
enabled: false
# Use existing secret for minio credentials (Note: secretKeyName must be rootUser and rootPassword)
existingSecret: ""
# Minio Root user
# ignored if opencloud.storage.s3.internal.existingSecret is set
rootUser: opencloud
# Minio Root password
# ignored if opencloud.storage.s3.internal.existingSecret is set
rootPassword: opencloud-secret-key
# Bucket name
bucketName: opencloud-bucket
# Region (optional)
region: "default"
# Resources allocation
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 1000m
memory: 2Gi
# Persistence configuration
persistence:
enabled: true
# Size of the persistent volume
size: 30Gi
# Storage class
storageClass: ""
# Access mode
accessMode: ReadWriteOnce
# External S3 (can be S3, Ceph, or external MinIO)
external:
# Enable external S3
enabled: false
# External S3 endpoint URL
endpoint: ""
# External S3 region
region: "default"
# Use existing secret for external s3 credentials (Note: secretKeyName must be accessKey and secretKey)
existingSecret: ""
# External S3 access key
# ignored if opencloud.storage.s3.external.existingSecret is set
accessKey: ""
# External S3 secret key
# ignored if opencloud.storage.s3.external.existingSecret is set
secretKey: ""
# External S3 bucket
bucket: ""
# Create bucket if it doesn't exist
createBucket: true
# =====================================================================
# GATEWAY-API HTTPRoute
# =====================================================================
# Requires Gateway API resources and suitable controller installed within the cluster
# (see: https://gateway-api.sigs.k8s.io/guides/)
httpRoute:
# Enable HTTPRoute resources (set to true to create Gateway API routes)
enabled: false
# Gateway configuration
gateway:
# Create the gateway
create: false
# HTTPS Port to listen to (k3s traefik defaults to 8443)
port: 443
# Gateway name
name: opencloud-gateway
# Gateway class (defaults to "cilium")
className: cilium
# Gateway namespace (defaults to Release.Namespace)
namespace: ""
# Gateway annotations
annotations:
# Gateway annotations
infrastructure:
annotations: {}
# =====================================================================
# INGRESS
# =====================================================================
# Ingress configuration
ingress:
# Whether to enable ingress resources for components
enabled: false
# The ingress class name to use (e.g., nginx, traefik). Leave empty to use the cluster default.
# Note: This sets the Kubernetes `spec.ingressClassName` field.
ingressClassName: ""
# Some components (e.g., OnlyOffice) require the X-Forwarded-Proto header to be set.
#
# Set 'annotationsPreset' to inject known ingress-controller-specific annotations
# for injecting the header. Supported values: nginx, traefik, haproxy, contour, istio
#
# If set to "traefik" and OnlyOffice is enabled, the chart will create a Middleware
# named 'add-x-forwarded-proto-https' for use in both Ingress and Gateway HTTPRoute.
#
# This is required because Traefik does not allow simple header injection via annotations
# or Gateway filters and instead expects a Middleware to be referenced.
#
# These annotations are added in addition to any defined in 'annotations'.
# If there's a conflict, Helm will error. To avoid this, set annotationsPreset: ""
# and define all annotations manually (including creating any required Middleware).
annotationsPreset: "" # optional, default ""
# Custom annotations applied to all ingress resources.
# These are merged with any annotations from 'annotationsPreset' (if set).
annotations: {}
# Example:
# cert-manager.io/cluster-issuer: letsencrypt