mirror of https://github.com/OpenVidu/openvidu.git
1.9 KiB
1.9 KiB
Proposal
Why
The request of an egress document is a summary: source, encoding and the kinds of output. The configuration of each
output (file type and path, stream protocol and URLs, segment and image settings), the audio routes of the unified API
and the replay offsets are lost. The full request, through the secrets allow-list, exists only in the raw EGRESS_*
event payloads, which expire with the events retention while the egress document keeps the entities retention.
What Changes
- The
egressesdocument gains an optionalrawRequest: the request of the egress encoded as raw event payloads encodeegress.request, with the protocol field names, the set member of each oneof under the oneof name and only the allow-listed fields. Credentials, storage uploads and webhooks are never stored, and URLs are redacted. requestkeeps its summary, unchanged.
Scope excludes the following:
- Egress documents already stored, which have no
rawRequestuntil their egress receives another event. - Any change to the allow-list or to the request summary.
- How an edition shows the field.
Edition: CE and PRO (data model). Repositories: dashboard (contract, typings, data generator, specs) and openvidu-livekit (projection and document types).
CHANGELOG: none. The analytics data model has not shipped in a release.
Capabilities
New Capabilities
None.
Modified Capabilities
data-model: the egress document stores the request in raw payload encoding.
Impact
- Contract (
dashboard-ce/typings):EgressDocument.rawRequest, theegressesvalidator and the egress fixtures; the contract version stays 1. - Writer: the egress projection, the
EgressDocumentstruct, the vendored contract and the integration tests. - Data generator: generated egress documents carry
rawRequest. - Dashboard backend: none; the egress list projection does not read the field.