Files
opendesk/helmfile/environments/default-size-5k-overrides/replicas.yaml.gotmpl
2025-12-05 10:06:23 +01:00

229 lines
6.3 KiB
Go Template

# SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
# SPDX-License-Identifier: Apache-2.0
---
replicas:
## Note: Databases should be deployed separately
# -- component: Cassandra
# -- scalable: tbd
cassandra: 3
# -- component: Persistence Layer
# -- scalable: false
mariadb: 1
# -- scalable: false
memcached: 1
# -- scalable: true
minio: 1
# -- scalable: false
postgres: 1
# -- scalable: tbd
redis: 1
# ClamAV
# -- component: Antivirus (ClamAV)
# -- scalable: true
# -- comment: clamav-simple - supports `ReadWriteOnce` PVCs.
clamav: 3
# -- scalable: true
# -- comment: clamav-distributed - requires `ReadWriteMany` PVCs.
clamd: 3
# -- scalable: true
# -- comment: clamav-distributed - You do not want to scale this service, as it just updates the signature files
# centrally an should be a singleton.
freshclam: 1
# -- scalable: true
# -- comment: clamav-distributed - requires `ReadWriteMany` PVCs.
icap: 3
# -- scalable: true
# -- comment: clamav-distributed - requires `ReadWriteMany` PVCs.
milter: 3
# IAM / Nubus
# -- component: IAM (Nubus)
# -- scalable: true
intercomService: 1
# -- scalable: true
keycloak: 3
# -- scalable: false
oxConnector: 1
# -- scalable: tbd
umsGuardianAuthorizationApi: 1
# -- scalable: tbd
umsGuardianManagementApi: 1
# -- scalable: tbd
umsGuardianManagementUi: 1
# -- scalable: tbd
umsGuardianOpenPolicyAgent: 1
# -- scalable: false
# -- comment: Should not be scaled, is an async process.
umsKeycloakExtensionsHandler: 1
# -- scalable: true
umsKeycloakExtensionsProxy: 1
# -- scalable: tbd
umsLdapNotifier: 1
# -- scalable: true
# -- comment: Please find details on the following `umsLdapServer*` entries in the upstream documentation:
# https://docs.software-univention.de/nubus-kubernetes-operation/latest/en/configuration/ldap.html#directory-service-high-availability-and-scalability
umsLdapServerPrimary: 1
# -- scalable: true
umsLdapServerSecondary: 2
# -- scalable: true
# -- comment: The LDAP proxy is only required in situations where there are clients outside of UDM writing into the
# LDAP like Samba. This is not a use case within openDesk so the LDAP Proxy's replica count should be kept at `0`
umsLdapServerProxy: 0
# -- scalable: tbd
umsNotificationsApi: 2
# -- scalable: true
umsPortalFrontend: 2
# -- scalable: false
umsPortalConsumer: 1
# -- scalable: true
umsPortalServer: 2
# -- scalable: tdb
umsProvisioningApi: 1
# -- scalable: false
umsProvisioningDispatcher: 1
# -- scalable: tdb
umsProvisioningNats: 1
# -- scalable: tdb
umsProvisioningPrefill: 1
# -- scalable: false
umsProvisioningUdmTransformer: 1
# -- scalable: tbd
umsSelfserviceConsumer: 1
# -- scalable: true
umsUdmListener: 1
# -- scalable: tbd
umsUdmRestApi: 1
# -- scalable: tbd
umsUmcGateway: 1
# -- scalable: tbd
umsUmcServer: 2
# -- scalable: tbd
umsUmcServerProxy: 1
# -- scalable: true
nginxS3Gateway: 1
# Nextcloud
# -- component: Filestore (Nextcloud)
# -- scalable: true
nextcloud: 3
# -- scalable: true
nextcloudNotifyPush: 1
# -- scalable: true
nextcloudExporter: 1
# Collabora:
# -- component: Weboffice (Collabora)
# -- scalable: true
# -- comment: If Collabora Controller is enabled, Collabora is autoscaling and the value below will be ignored.
# Please check `enterpriseFeatures.collabora.autoscaling` for autoscaling settings.
collabora: 3
# -- scalable: true
# -- comment: Load between Collabora Controller Pods is going to one Pod (the leader) only, therefore raise the number
# e.g. to `2` for high availability of the Collabora Controller.
collaboraController: 1
# Cryptpad
# -- component: Pad (CryptPad)
# -- scalable: false
cryptpad: 1
# OX App Suite
# -- component: Groupware (OX AppSuite, OX Dovecot etc.)
# -- scalable: false
# -- comment: Scalable in openDesk Enterprise only
dovecot: 1
# -- component: Groupware (OX App Suite)
# -- scalable: tbd
openxchangeCoreDocumentConverter: 1
# -- scalable: tbd
openxchangeCoreGuidedtours: 1
# -- scalable: tbd
openxchangeCoreImageConverter: 1
# -- scalable: tbd
openxchangeCoreMW: 2
# -- scalable: tbd
openxchangeCoreUI: 1
# -- scalable: tbd
openxchangeCoreUIMiddleware: 2
# -- scalable: tbd
openxchangeCoreUserGuide: 1
# -- scalable: tbd
openxchangeGotenberg: 1
# -- scalable: tbd
openxchangeGuardUI: 1
# -- scalable: tbd
openxchangeNextcloudIntegrationUI: 1
# -- scalable: tbd
openxchangePluginsUI: 1
# -- scalable: tbd
openxchangePublicSectorUI: 1
# -- component: Project management (OpenProject)
# -- scalable: true
openprojectWeb: 4
# -- scalable: true
# -- comment: Async service working on processing queue content. Can work on queues in parallel (when needed). Check
# https://www.openproject.org/docs/installation-and-operations/installation/helm-chart/ for details, as e.g.
# dedicated workers for specific queues are possible with OpenProject.
openprojectWorker: 2
# -- component: Knowledge management (XWiki)
# -- scalable: false
xwiki: 1 # currently just vertial scaling
# -- component: Chat (Element, Synapse)
# -- scalable: true
element: 2 # no information about that, but as it distributes the web client to the users' browsers, there should be some server running parallel
# -- scalable: tbd
matrixNeoBoardWidget: 1
# -- scalable: tbd
matrixNeoChoiceWidget: 1
# -- scalable: tbd
matrixNeoDateFixBot: 1
# -- scalable: tbd
matrixNeoDateFixWidget: 1
# -- scalable: tbd
matrixUserVerificationService: 1
# -- scalable: tbd
synapse: 2
# -- scalable: true
synapseWeb: 1 # no information about that, but as HAproxy, a redundant setup should be senseful in larger deployments
# -- scalable: true
wellKnown: 1
# -- component: Note taking (Notes)
# -- scalable: true
notesBackend: 5
# -- scalable: true
notesFrontend: 2
# -- scalable: true
notesYProvider: 5
# Jitsi
# 3 shards, each for up to 4000 concurrent users
# -- component: Video conference (Jitsi)
# -- scalable: tbd
jibri: 1
# -- scalable: tbd
jicofo: 1
# -- scalable: tbd
jigasi: 1
# -- scalable: tbd
jitsi: 1
# -- scalable: tbd
jitsiKeycloakAdapter: 1
# -- scalable: tbd
jvb: 5
...