17 releases

2.1.9 Aug 8, 2024
0.2.8 Mar 21, 2025
0.2.3 Oct 29, 2024
0.2.1 Sep 9, 2024
0.1.5 Aug 31, 2024

#268 in HTTP client

Download history 33/week @ 2024-12-07 1/week @ 2025-01-18 2/week @ 2025-01-25 8/week @ 2025-02-15 74/week @ 2025-03-01 300/week @ 2025-03-08 550/week @ 2025-03-15

929 downloads per month
Used in on-prem-lambda-events

Apache-2.0

5.5MB
123K SLoC

Rust 74K SLoC // 0.0% comments Go 49K SLoC // 0.0% comments

On Prem Protocol

This project provides connectivity to the User gRPC Server of the On Prem control plane. The default instance of the control plane runs in the cloud at https://api.on-prem.net.

Architecture

graph TB;

subgraph Clients[Clients / Edge]
agent[Agent]
cli[CLI]
console[Console]
end

subgraph API[Control Plane]
agent_grpc_server[Agent gRPC Server :3004]
api_endpoint[API Aggregation Endpoint :3000]
lambda_grpc_server[Lambda gRPC Server :3002]
reconfig_grpc_server[Reconfig gRPC Server :3003]
rest_endpoint[REST Endpoint :3006]
storage_grpc_server[Storage Server :3001]
user_grpc_server[User gRPC Server :3005]
end

subgraph Backing Services
mongo[(MongoDB)]
prometheus[(Prometheus)]
redis[(Redis)]
stripe[Stripe]
end

agent <-- tunnel stream --> api_endpoint;
agent_grpc_server ---> reconfig_grpc_server;
agent_grpc_server ---> storage_grpc_server;
api_endpoint <--> agent_grpc_server;
api_endpoint ---> rest_endpoint;
api_endpoint --> user_grpc_server;
cli --> api_endpoint;
console ---> api_endpoint;
lambda_grpc_server ---> storage_grpc_server;
reconfig_grpc_server --> storage_grpc_server;
rest_endpoint ---> user_grpc_server;
storage_grpc_server ---> mongo;
storage_grpc_server ---> prometheus;
storage_grpc_server ---> redis;
user_grpc_server -- use tunnel --> agent_grpc_server;
user_grpc_server ---> lambda_grpc_server;
user_grpc_server ---> reconfig_grpc_server;
user_grpc_server ---> storage_grpc_server;
user_grpc_server -- metered billing --> stripe

Building

$ make dependencies
$ make generate
$ make
$ make check

Dependencies

~5–13MB
~152K SLoC