Crates.io | on-prem-protocol |
lib.rs | on-prem-protocol |
version | 0.2.3 |
source | src |
created_at | 2024-08-08 17:41:41.804367 |
updated_at | 2024-10-29 14:36:02.958316 |
description | A gRPC client for the On Prem control plane. |
homepage | https://on-prem.net |
repository | https://gitlab.com/on-prem-net/protocol |
max_upload_size | |
id | 1329787 |
size | 5,389,282 |
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.
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
$ make dependencies
$ make generate
$ make
$ make check