Page MenuHomePhabricator

[Identity] Add client device service to identity service
ClosedPublic

Authored by jon on Mar 21 2023, 12:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Feb 28, 7:52 AM
Unknown Object (File)
Feb 23 2024, 12:15 PM
Unknown Object (File)
Feb 23 2024, 11:56 AM
Unknown Object (File)
Feb 23 2024, 11:55 AM
Unknown Object (File)
Feb 23 2024, 10:38 AM
Unknown Object (File)
Feb 23 2024, 10:38 AM
Unknown Object (File)
Feb 23 2024, 10:31 AM
Unknown Object (File)
Feb 23 2024, 10:26 AM
Subscribers

Details

Summary

This adds a stubbed out version of the identity service
given the current state of the protobuf file.

This is intended to allow for the RPCs be worked in parallel.

Part of https://linear.app/comm/issue/ENG-3347

Test Plan
cd services/identity
cargo run -- server

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Harbormaster returned this revision to the author for changes because remote builds failed.Mar 21 2023, 12:48 PM
Harbormaster failed remote builds in B17492: Diff 23960!

Include protobuf file in dockerfile build

Harbormaster returned this revision to the author for changes because remote builds failed.Mar 21 2023, 1:59 PM
Harbormaster failed remote builds in B17493: Diff 23961!

Install more recent protobuf compiler for identity service

bartek added inline comments.
services/identity/build.rs
2–11 ↗(On Diff #23997)

I like this one!
Such config, especially build_client(false) could potentially be applied to other services to avoid unnecessary code generation

services/identity/src/main.rs
62–66 ↗(On Diff #23997)

These could be named consistently, especially the svc var could be renamed in this context - maybe call these keyserver_service and client_service - I'm not sure if they're more "services" or "servers" (I'm not good at these hyper/tower/tonic namings)

This revision is now accepted and ready to land.Mar 22 2023, 10:16 AM
services/identity/src/main.rs
62–66 ↗(On Diff #23997)

the server vs service distinction is a bit tricky. Because the Trait you need to create an implementation defines a service, but you need to wrap those bindings you created with a server struct. So they are somewhat ambiguous.

.add_service is probably chosen to avoid confusion about Server adding servers vs servcies.

jon marked 2 inline comments as done.

svc -> keyserver_service

nice! just one nit

also why'd we change the way we're installing Protobuf in Docker?

services/identity/Dockerfile
7 ↗(On Diff #24004)

must be run

jon marked an inline comment as done.

ran -> run