Skip to content

gRPC Debugging

SyncTV public gRPC and HTTP REST share server.port, default 8080.

server.enable_reflection=true by default, so development environments can explore services with grpcurl. Production should usually disable reflection and use checked-in protobuf files.

Start with reflection:

Terminal window
SYNCTV_SERVER_ENABLE_REFLECTION=true \
cargo run -p synctv --bin synctv -- serve

List services:

Terminal window
grpcurl -plaintext localhost:8080 list
grpcurl -plaintext localhost:8080 list synctv.client.AuthService

Public client services include synctv.client.AuthService, UserService, RoomService, PublicService, EmailService, NotificationService, and OAuth2Service. The public admin gRPC service is synctv.admin.AdminService. The management gRPC service is a separate endpoint named synctv.management.ManagementService; it is not served on server.port.

-plaintext is for local development or trusted internal networks only. Production deployments should use TLS at the proxy or client connection layer.

Terminal window
grpcurl -plaintext -d '{
"username": "alice",
"email": "alice@example.com",
"password": "securepassword123"
}' localhost:8080 synctv.client.AuthService/Register
Terminal window
grpcurl -plaintext -d '{
"username": "alice",
"password": "securepassword123"
}' localhost:8080 synctv.client.AuthService/Login

OpenAPI documents HTTP APIs only. gRPC debugging uses reflection or protobuf files. See OpenAPI Access for Swagger UI and OpenAPI JSON.