Skip to content

Services

The OpenTalk Orchestrator forwards requests to the service instances that registered at it, e.g. RoomServer or recorder services. The services section configures the API keys that the orchestrator uses to authorize these requests.

Configuration

The section in the configuration file is called services.

Field Type Required Default value Description
keys Key/value pair array yes - The API keys used to authorize requests towards the services

Keys

When a service instance registers with the orchestrator, it sends the ids of the API keys it has configured. The orchestrator accepts the registration only if it knows at least one of these key ids. Requests towards that instance are then authorized with the first matching key.

The key ids and secrets must therefore match the API keys configured in the http.api_keys setting of the respective RoomServer or Recorder service. Use a different secret for each service in production.

An API key can be configured as string ("<key_id>:<key_secret>") or as key/value pair ({ id = "<key_id>", secret = "<key_secret>" }).

Important

When multiple orchestrators are deployed, all of them must be configured with the same keys. Otherwise services cannot register with every orchestrator.

When set through the environment, the keys are provided as a comma-separated list:

OT_ORCHESTRATOR_SERVICES__KEYS="roomserver:secret1,recorder:secret2"

Example

[services]
keys = [
    { id = "roomserver", secret = "secret1" },
    { id = "recorder", secret = "secret2" },
]