Skip to content
This repository has been archived by the owner on Aug 25, 2021. It is now read-only.

Commit

Permalink
Implement dynamic Control API exposed via gRPC (#33, #32)
Browse files Browse the repository at this point in the history
- integrate gRPC Control API server
- imp 'Create', 'Delete', 'Get' methods of Control API
- add temporary client for manual tests of gRPC Control API
- create E2E tests for gRPC Control API
- add '[server.control.grpc]' section to configure Control API gRPC server
- rename '[server]' section of Client API HTTP server as '[server.client.http]'
- add 'server.client.http.public_url' option to configure public URL of Client API HTTP server

Additionally:
- expose configuration changes in 'medea-demo' Helm chart values and bump up its version to 0.2.0
- use tinyurl.com instead of tiny.cc in docs
- fix missing CMake installation in Dockerfile
- describe explicit env var names in configuration file
- provide global AppContext
- add module path and file line number to logs
- refactor types and attributes usage in 'conf' module and split tests by submodules
  • Loading branch information
evdokimovs authored Oct 25, 2019
1 parent ae31179 commit e71c31c
Show file tree
Hide file tree
Showing 66 changed files with 7,134 additions and 1,159 deletions.
8 changes: 5 additions & 3 deletions .clippy.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ doc-valid-idents = [
"IPv4", "IPv6", "JavaScript", "NaN", "NaNs",
"OAuth", "OpenGL", "OpenSSH", "OpenSSL", "OpenStreetMap", "TrueType",
"iOS", "macOS", "TeX", "LaTeX", "BibTeX", "BibLaTeX", "MinGW",
"WebRTC", "WebSocket",
"gRPC",
"MediaDeviceKind",
"MediaStream", "MediaStreamConstraints", "MediaStreamTrack",
"RTCConfiguration", "RTCIceCandidate", "RTCIceServer",
"RTCConfiguration",
"RTCIceCandidate", "RTCIceCandidateInit", "RTCIceServer",
"RTCPeerConnection", "RTCPeerConnectionIceEvent",
"RTCRtpTransceiver", "RTCRtpTransceiverDirection",
"RTCSdpType", "RTCIceCandidateInit"
"RTCSdpType",
"WebRTC", "WebSocket",
]
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
stage: check
rust: nightly
cache: false
before_script: rustup component add rustfmt
before_script: rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu
script: make fmt check=yes

- name: medea-jason (beta)
Expand Down
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,32 @@ All user visible changes to this project will be documented in this file. This p

[Milestone](/../../milestone/2) | [Roadmap](/../../issues/27)

### BC Breaks

- Configuration:
- Rename `[server]` section of Client API HTTP server as `[server.client.http]` ([#33]).

### Added

- Control API:
- Support for static Сontrol API specs ([#28]).
- Support for static Сontrol API specs ([#28]);
- Dynamic Control API exposed via gRPC ([#33]):
- `Create` method for `Room`, `Member`, `Endpoint`;
- `Get` method for `Room`, `Member`, `Endpoint`;
- `Delete` method for `Room`, `Member`, `Endpoint`.
- Signalling:
- Dynamic `Peer`s creation when client connects ([#28]);
- Auto-removing `Peer`s when `Member` disconnects ([#28]);
- Filter `SetIceCandidate` messages without `candidate` ([#50](/../../pull/50));
- Send reason of closing WebSocket connection as [Close](https://tools.ietf.org/html/rfc4566#section-5.14) frame's description ([#58](/../../pull/58)).
- Configuration:
- `[server.control.grpc]` section to configure Control API gRPC server ([#33]);
- `server.client.http.public_url` option to configure public URL of Client API HTTP server ([#33]).
- Testing:
- E2E tests for signalling ([#28]).

[#28]: /../../pull/28
[#33]: /../../pull/33



Expand Down
Loading

0 comments on commit e71c31c

Please sign in to comment.