2 releases
new 0.1.5 | Feb 26, 2025 |
---|---|
0.1.4 | Feb 24, 2025 |
#1645 in Network programming
62 downloads per month
Used in trz-gateway-client
165KB
4K
SLoC
Terrazzo Gateway
The Terrazzo Gateway allows clients (aka. remote services) to expose gRPC APIs through the Gateway.
The remote services need outbound connectivity to the Gateway. Only the Gateway is publicly available.
Remote services tunnel connections
Remote services open a WebSocket connections with the Gateway. These WebSockets are then used to transport gRPC traffic.
The connection is encrypted twice
- The WebSocket connection is transported over HTTPS
- The gRPC connection is secured with TLS, using the remote service certificate.
Remote services authentication
Each remote service authenticates with a TLS certificate.
The TLS certificate is issued by the Gateway in exchange for a code that can be queried from the Gateway and that changes every 60 seconds.
Dependencies
~30–42MB
~765K SLoC