libervia-backend/libervia/backend/core
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Goffi f7a42771e8 core: implement isolation mode:
Normally the backend is made to have a singleton instance, and handle all profiles.
However, it may be useful to run instances independently (e.g., for development, to run
components in independent processes, for testing, etc).

This was previously possible by using a specific configuration files at backend's root.
This patch introduce a cleaner way by using an isolation mode.

Isolation mode is activated by settings the `LIBERVIA_ISOLATION` environment variable to
the name of the isolated instance. `LIBERVIA_ISOLATION_MODE` can be used to specify one of
the following mode:
- normal (default): config and shared files are in XDG in a `isolated/<name>` subdirectory
  (usually `~/.local/share/libervia/isolated/<name>` and
  `~/.config/libervia/isolated/<name>`). Runtime files and other instance specific data
  (such as D-Bus name) are also isolated. Config uses cascade as usual.
- full: same as above, but config isn't cascading, it's using only its own isolated config
  file.
- tmp: same as normal but the local directory is put in a temporary directory, and deleted
  on backend startup. It stays on termination, so data can be checked if necessary (this mode is
  usually used for development).

This feature will notably be useful to test severless mode on a single machine.

rel 479
2026-07-17 16:45:29 +02:00
..
__init__.py refactoring: renamed sat package to libervia.backend 2023-06-02 11:49:51 +02:00
constants.py core: implement isolation mode: 2026-07-17 16:45:29 +02:00
core_types.py core (types): Fix type hint for mess_id2uid 2026-07-09 17:13:37 +02:00
exceptions.py tests (unit/cli/calls): Skip tests in case of missing media or webrtc: 2026-04-09 21:47:46 +02:00
i18n.py Dates update. 2026-03-31 12:57:17 +02:00
launcher.py core: implement isolation mode: 2026-07-17 16:45:29 +02:00
log.py Dates update. 2026-03-31 12:57:17 +02:00
log_config.py Dates update. 2026-03-31 12:57:17 +02:00
main.py core: uid is now set in extra in client.sendMessage: 2026-07-09 17:13:37 +02:00
patches.py plugin XEP-0355: Namespace Delegation implementation: 2026-04-14 23:04:04 +02:00
xmpp.py core (xmpp): make client.encryption a property to make pyright happy 2026-07-09 17:13:37 +02:00