Functional configuration
This document addresses the available functional configuration options of an openDesk deployment.
Supported functional configuration
While the openDesk applications allow a wide range of configuration options, only a small subset of them are supported by openDesk. This subset can be found in helmfile/environments/default/functional.yaml.gotmpl
The following categories are available. Each category contains a set of options to tailor your openDesk deployment to your needs. Please find the actual options including inline documentation in functional.yaml.gotmpl itself.
- Administrative options (
functional.admin.*): Options affecting the IAM administrator role (users that are member of the LDAP groupDomain Admins) of openDesk. - Authentication options (
functional.authentication.*): Authentication related settings, e.g. define additional OIDC clients or scopes. - External Services options (
functional.externalServices.*): Settings controlling externally available services like APIs. - Filestore options (
functional.filestore.*): Configuration options for the filestore component of openDesk, like default storage quota or file sharing options. - Data Protection options (
functional.dataProtection.*): Data protection related settings. - Portal options (
functional.portal.*): Options to customize the openDesk portal, e.g. if the login dialog should be enforced. - Chat options (
functional.chat.*): Configuration options for the chat component of openDesk. - Migration options (
functional.migration.*): Helpful setting(s) for migration scenarios. - Groupware options (
functional.groupware.*): Options to customize Open-Xchange and mail settings, e.g. mail quota.
Individual user quotas
The default quotas in functional.groupware.quota and functional.filestore.quota apply to all users without an individual quota. Administrators can set an individual quota per user in the IAM on the user’s openDesk tab:
| Field | Stored in LDAP attribute | Format | Applied by |
|---|---|---|---|
| Mail quota (MB) | cyrus-userquota | Integer in megabytes, e.g. 2048 | Dovecot |
| Fileshare quota (MB) | opendeskFileshareQuota | Integer in megabytes, e.g. 2048; stored as 2048 MB as Nextcloud requires the unit | Nextcloud |
Clearing a field returns the user to the default quota. Changes become effective:
- Mail: with the user’s next login and mail delivery once Dovecot’s authentication cache expired (TTL equals
functional.authentication.realmSettings.accessTokenLifespan). Rundoveadm auth cache flushin the Dovecot Pod to apply them immediately. - Files: for users Nextcloud does not know yet, with their first login, as Nextcloud reads their LDAP attributes at that point. For users Nextcloud already knows, with its next LDAP background sync, which Nextcloud schedules every 30 minutes up to every 12 hours depending on the number of users; a login does not re-read the quota of a known user. Run
occ ldap:check-user --update <user>in the Nextcloud Pod to apply it immediately,<user>being the user’suniventionObjectIdentifier.
The mail quota grace (10%) and the additional Trash quota (+20%) are relative to the user’s effective quota.
Customization of functional options
In case the options from functional.yaml.gotmpl are not sufficient, you might want to look into customization.yaml.gotmpl. The customizations give you control over all templating that is being done in openDesk, but be aware it is an unsupported approach, so in case you have a strong need for customizations, please let us know by opening a ticket. We will check if it is a use case that can be supported by implementing it as part of the aforementioned functional.yaml.gotmpl.
You can not directly template your own values in the structure found in
customization.yaml.gotmpl, rather, you need
to reference your custom value files to overwrite the openDesk defaults. In the app specific
helmfile-child.yaml.gotmpl files, the openDesk value files are referenced first, then afterwards, the
files you define in the customizations are read.