14 releases
2.1.9 |
|
---|---|
0.2.3 | Oct 29, 2024 |
0.2.1 | Sep 9, 2024 |
0.1.9 | Sep 3, 2024 |
0.1.5 | Aug 31, 2024 |
#875 in Network programming
352 downloads per month
Used in on-prem-lambda-events
5.5MB
119K
SLoC
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
~6–14MB
~164K SLoC