4 个版本

2.1.9 2024 年 8 月 8 日
0.1.3 2024 年 8 月 18 日
0.1.2 2024 年 8 月 18 日
0.1.1 2024 年 8 月 17 日
0.1.0 2024 年 8 月 8 日

#703网络编程

Download history 303/week @ 2024-08-03 276/week @ 2024-08-10

579 每月下载量
用于 on-prem-lambda-events

Apache-2.0 协议

5.5MB
119K SLoC

Rust 72K SLoC // 0.0% comments Go 47K SLoC // 0.0% comments

On Prem Protocol

本项目为 On Prem 控制平面的用户 gRPC 服务器提供连接。控制平面的默认实例运行在 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

依赖项

~6–10MB
~163K SLoC