Zum Hauptinhalt springen

Migration guide for updating to new versions

General information

After installing/deploying the new version opentalk-controller fix-acl must be run in order to update ACLs to match the newest version whenever new endpoints were added for already present resources. However, even if no endpoints were added, simply running the command does no harm.

Updating to OpenTalk Controller v0.29.0

Removal of the reports configuration and the terdoc service

The terdoc service for generating reports, e.g. in PDF format, has showed several flaws. It requires an installation of LibreOffice in the container, which cannot be operated properly in some environments with strict security requirements.

Therefore the terdoc service is history now, and we use the [typst](https:// typst.app/) library internally for generating PDF reports.

For the time being, the style and format of these reports is baked in and requires no further configuration. Therefore the [report] section in the configuration is currently deprecated and might be reintroduced in the future. If a [report] section is present in the configuration file, a warning will be shown when the OpenTalk Controller is started.

Further details about the current state of report creation are available in the Meeting Reports documentation.

Removal of the TURN configuration and endpoint

With the transition from Janus to Livekit, the TURN configuration (in form of the [turn] section in the configuration file and the /turn endpoint of the controller are deprecated and will be removed in the future. TURN servers are managed and configured directly in LiveKit.

Updating to OpenTalk Controller v0.26.0

Janus support removed entirely

Support for the Janus Media Server has been removed entirely in favor of LiveKit.

Changes in the OIDC configuration

Configuration options of the authentication provider no longer target Keycloak specifically, but rather OIDC in general. For the time being, Keycloak is still the only supported authentication provider, but that is likely to change in the future.

User search needs to be configured separately now.

Example

Assuming this is the [keycloak] section in the controller configuration.

[keycloak]
base_url = "https://accounts.example.com/auth"
realm = "MyRealm"
client_id = "Controller"
client_secret = "c64c5854-3f02-4728-a617-bbe98ec42b8f"

You must change that section to:

# Basic OIDC configuration
[oidc]
base_url = "https://accounts.example.com/auth/realms/MyRealm"

# Frontend configuration
[oidc.frontend]
# This is the id that the frontend client will use for authentication.
# Must be the same as configured by the `OIDC_CLIENT_ID` value in the
# web-frontend. See https://gitlab.opencode.de/opentalk/web-frontend
client_id = "Frontend"

# Controller configuration
[oidc.controller]
client_id = "Controller"
client_secret = "c64c5854-3f02-4728-a617-bbe98ec42b8f"

# User search is optional, needs extra configuration on the Keycloak server
[user_search]
backend = "keycloak_webapi"
api_base_url = "https://accounts.example.com/auth/admin/realms/MyRealm"
users_find_behavior = "from_user_search_backend"

Updating to OpenTalk Controller v0.25.0

This controller version introduces support for LiveKit. Support for the Janus Media Server has been deprecated.

See the LiveKit migration documentation.

Updating to OpenTalk Controller v0.16.0

Janus can now be connected to via websocket

The OpenTalk controller now can be configured to connect to Janus directly via a websocket connection instead of using rabbitmq in-between.

See the configuration documentation.

Updating to OpenTalk Controller v0.15.0

Redis is only required for clustered operation

Since v0.15.0 of the OpenTalk controller, the usage of a [Redis](../core/ redis.md) service is only required for synchronizing between nodes when the controller should run in clustered mode. If the service should only be provided by a single node, then the controller can run in standalone mode now by removing the [redis] section from the configuration entirely.

Updating to OpenTalk Controller v0.9.0

Removal of server-side speaker detection

The audio level detection is no longer performed by the MCU (Multipoint Control Unit, in this case the Janus Media Server), therefore the corresponding settings are deprecated.

Deprecated settings in the configuration file are:

  • room_server.speaker_focus_packets
  • room_server.speaker_focus_level

Corresponding entries should be removed from the configuration file. If one of the settings is found in the configuration file, a warning is printed out as information for the administrator.