0.1.2 |
|
---|---|
0.1.1 |
|
0.1.0 |
|
在 #ttrpc 中排名第7
705KB
16K SLoC
containerd 的 shim 协议和客户端
已弃用:请使用 containerd-shim-protos 代替。
containerd 的 shim 事件和接口的 TTRPC 绑定。
设计
containerd-shim-client
包提供了 Protobuf 消息和 ttRPC 服务定义,用于 Containerd shim v2 协议。
这些消息和服务定义是由位于 vendor/
目录下的 protobuf 源文件通过使用 ttrpc-codegen 自动生成的。因此,请勿编辑这些自动生成的源文件。如果需要升级/修改,请按照以下步骤进行
- 将上游项目的最新 protobuf 源文件同步到 'vendor/' 目录。
- 通过以下命令重新生成源文件:
cargo build --features=generate_bindings
。 - 提交同步的 protobuf 源文件和自动生成的源文件,保持同步。
使用方法
在您的 Cargo.toml
中添加 containerd-shim-client
作为依赖项
[dependencies]
containerd-shim-client = "0.1"
基本的客户端代码如下
let client = client::Client::connect(socket_path)?;
let task_client = client::TaskClient::new(client);
let context = client::ttrpc::context::with_timeout(0);
let req = client::api::ConnectRequest {
id: pid,
..Default::default()
};
let resp = task_client.connect(context, &req)?;
示例
构建 ttRPC 客户端连接 示例的方法
$ cargo build --example connect
$ sudo ./connect unix:///containerd-shim/shim_socket_path.sock
依赖项
~3.5–5MB
~99K SLoC