Managing grouprise settings

Configuration files

Grouprise is configured via yaml-based configuration files.

The content of these files is parsed and transferred into Django settings. This simplifies the access to settings from within the Django-based application code.

Usage

Within the grouprise code settings are usually accessed like this:

from grouprise.core.settings import CORE_SETTINGS

print(CORE_SETTINGS.BACKUP_PATH)

Most settings are available in CORE_SETTINGS. In addition there are also app-specific dictionaries (e.g. see grouprise/features/matrix_chat/settings.py).

Modify available settings

In order to change existing settings or add new ones, the following steps are recommended:

  1. configure the setting processing in grouprise/settings_loader.py

  2. expose the setting in the corresponding grouprise app

    • e.g. grouprise/core/settings.py or grouprise/features/*/settings.py

  3. add tests for configuration handling in grouprise/tests.py

    • only relevant for non-trivial settings

  4. document the setting in docs/administration/configuration/options.md

  5. mention the setting in the upcoming release notes (below docs/releases/)

Debug processing of settings

Dump the parsed content of all yaml-based configuration files:

grouprisectl grouprise_settings dump

Dump the effective Django settings (after parsing and processing):

grouprisectl grouprise_settings dump-django