diff --git a/Cargo.toml b/Cargo.toml index 73867ff..787436b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ members = [ "crates/client", "crates/logging", - "crates/shim-client", + "crates/shim-protos", "crates/shim", "crates/snapshots" ] diff --git a/README.md b/README.md index b2b0d91..b325f26 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ This repository contains the following crates: | Name | Description | Links | | --- | --- | --- | -| [containerd-shim-client](crates/shim-client) | TTRPC bindings to shim interfaces | [![Crates.io](https://img.shields.io/crates/v/containerd-shim-client)](https://crates.io/crates/containerd-shim-client) [![docs.rs](https://img.shields.io/docsrs/containerd-shim-client)](https://docs.rs/containerd-shim-client/latest/containerd_shim_client/) | +| [containerd-shim-protos](crates/shim-protos) | TTRPC bindings to shim interfaces | [![Crates.io](https://img.shields.io/crates/v/containerd-shim-protos)](https://crates.io/crates/containerd-shim-protos) [![docs.rs](https://img.shields.io/docsrs/containerd-shim-protos)](https://docs.rs/containerd-shim-protos/latest/containerd_shim_protos/) | | [containerd-shim-logging](crates/logging) | Shim logger plugins | [![Crates.io](https://img.shields.io/crates/v/containerd-shim-logging)](https://crates.io/crates/containerd-shim-logging) [![docs.rs](https://img.shields.io/docsrs/containerd-shim-logging)](https://docs.rs/containerd-shim-logging/latest/containerd_shim_logging/) | | [containerd-shim](crates/shim) | Runtime v2 shim wrapper | [![Crates.io](https://img.shields.io/crates/v/containerd-shim)](https://crates.io/crates/containerd-shim) [![docs.rs](https://img.shields.io/docsrs/containerd-shim)](https://docs.rs/containerd-shim/latest/containerd_shim/) | | [containerd-client](crates/client) | GRPC bindings to containerd APIs | [![Crates.io](https://img.shields.io/crates/v/containerd-client)](https://crates.io/crates/containerd-client) [![docs.rs](https://img.shields.io/docsrs/containerd-client)](https://docs.rs/containerd-client/latest/containerd_client/) | diff --git a/crates/shim-client/Cargo.toml b/crates/shim-protos/Cargo.toml similarity index 95% rename from crates/shim-client/Cargo.toml rename to crates/shim-protos/Cargo.toml index 16bf3d3..80deb5c 100644 --- a/crates/shim-client/Cargo.toml +++ b/crates/shim-protos/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "containerd-shim-client" +name = "containerd-shim-protos" version = "0.1.1" authors = ["Maksym Pavlenko ", "The containerd Authors"] edition = "2018" diff --git a/crates/shim-client/README.md b/crates/shim-protos/README.md similarity index 87% rename from crates/shim-client/README.md rename to crates/shim-protos/README.md index 2537e68..ad343d0 100644 --- a/crates/shim-client/README.md +++ b/crates/shim-protos/README.md @@ -9,8 +9,8 @@ TTRPC bindings for containerd's shim events and interfaces. ## Design -The `containerd-shim-client` crate provides [Protobuf](https://github.com/protocolbuffers/protobuf.git) message -and [ttRPC](https://github.com/containerd/ttrpc.git) service definitions for the +The `containerd-shim-protos` crate provides [Protobuf](https://github.com/protocolbuffers/protobuf.git) message +and [TTRPC](https://github.com/containerd/ttrpc.git) service definitions for the [Containerd shim v2](https://github.com/containerd/containerd/blob/main/runtime/v2/task/shim.proto) protocol. The message and service definitions are auto-generated from protobuf source files under `vendor/` @@ -25,7 +25,7 @@ Add `containerd-shim-client` as a dependency in your `Cargo.toml` ```toml [dependencies] -containerd-shim-client = "0.1" +containerd-shim-protos = "0.1" ``` Basic client code looks as follows: @@ -46,9 +46,9 @@ let resp = task_client.connect(context, &req)?; ## Example -- [ttRPC shim client](./examples/ttrpc-client.rs) -- [ttRPC shim server](./examples/ttrpc-server.rs) -- [ttRPC client connect](./examples/connect.rs). +- [TTRPC shim client](./examples/ttrpc-client.rs) +- [TTRPC shim server](./examples/ttrpc-server.rs) +- [TTRPC client connect](./examples/connect.rs). The way to build the [ttRPC client connect](./examples/connect.rs) example: ```bash diff --git a/crates/shim-client/build.rs b/crates/shim-protos/build.rs similarity index 100% rename from crates/shim-client/build.rs rename to crates/shim-protos/build.rs diff --git a/crates/shim-client/examples/connect.rs b/crates/shim-protos/examples/connect.rs similarity index 97% rename from crates/shim-client/examples/connect.rs rename to crates/shim-protos/examples/connect.rs index d064864..2bc6f56 100644 --- a/crates/shim-client/examples/connect.rs +++ b/crates/shim-protos/examples/connect.rs @@ -16,7 +16,7 @@ use std::env; -use containerd_shim_client as client; +use containerd_shim_protos as client; use client::api; use ttrpc::context::Context; diff --git a/crates/shim-client/examples/ttrpc-client.rs b/crates/shim-protos/examples/ttrpc-client.rs similarity index 94% rename from crates/shim-client/examples/ttrpc-client.rs rename to crates/shim-protos/examples/ttrpc-client.rs index 41a7c5c..0e857f3 100644 --- a/crates/shim-client/examples/ttrpc-client.rs +++ b/crates/shim-protos/examples/ttrpc-client.rs @@ -13,8 +13,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -use containerd_shim_client::api::CreateTaskRequest; -use containerd_shim_client::TaskClient; +use containerd_shim_protos::{api::CreateTaskRequest, TaskClient}; + use ttrpc::client::Client; use ttrpc::context::{self, Context}; diff --git a/crates/shim-client/examples/ttrpc-server.rs b/crates/shim-protos/examples/ttrpc-server.rs similarity index 94% rename from crates/shim-client/examples/ttrpc-server.rs rename to crates/shim-protos/examples/ttrpc-server.rs index ad40734..62112d6 100644 --- a/crates/shim-client/examples/ttrpc-server.rs +++ b/crates/shim-protos/examples/ttrpc-server.rs @@ -16,8 +16,10 @@ use std::sync::Arc; use std::thread; -use containerd_shim_client::api::{CreateTaskRequest, CreateTaskResponse}; -use containerd_shim_client::{create_task, Task}; +use containerd_shim_protos::{ + api::{CreateTaskRequest, CreateTaskResponse}, + create_task, Task, +}; use ttrpc::server::*; #[derive(Debug, PartialEq)] diff --git a/crates/shim-client/src/cgroups/metrics.rs b/crates/shim-protos/src/cgroups/metrics.rs similarity index 100% rename from crates/shim-client/src/cgroups/metrics.rs rename to crates/shim-protos/src/cgroups/metrics.rs diff --git a/crates/shim-client/src/cgroups/mod.rs b/crates/shim-protos/src/cgroups/mod.rs similarity index 100% rename from crates/shim-client/src/cgroups/mod.rs rename to crates/shim-protos/src/cgroups/mod.rs diff --git a/crates/shim-client/src/events/container.rs b/crates/shim-protos/src/events/container.rs similarity index 100% rename from crates/shim-client/src/events/container.rs rename to crates/shim-protos/src/events/container.rs diff --git a/crates/shim-client/src/events/content.rs b/crates/shim-protos/src/events/content.rs similarity index 100% rename from crates/shim-client/src/events/content.rs rename to crates/shim-protos/src/events/content.rs diff --git a/crates/shim-client/src/events/image.rs b/crates/shim-protos/src/events/image.rs similarity index 100% rename from crates/shim-client/src/events/image.rs rename to crates/shim-protos/src/events/image.rs diff --git a/crates/shim-client/src/events/mod.rs b/crates/shim-protos/src/events/mod.rs similarity index 100% rename from crates/shim-client/src/events/mod.rs rename to crates/shim-protos/src/events/mod.rs diff --git a/crates/shim-client/src/events/mount.rs b/crates/shim-protos/src/events/mount.rs similarity index 100% rename from crates/shim-client/src/events/mount.rs rename to crates/shim-protos/src/events/mount.rs diff --git a/crates/shim-client/src/events/namespace.rs b/crates/shim-protos/src/events/namespace.rs similarity index 100% rename from crates/shim-client/src/events/namespace.rs rename to crates/shim-protos/src/events/namespace.rs diff --git a/crates/shim-client/src/events/snapshot.rs b/crates/shim-protos/src/events/snapshot.rs similarity index 100% rename from crates/shim-client/src/events/snapshot.rs rename to crates/shim-protos/src/events/snapshot.rs diff --git a/crates/shim-client/src/events/task.rs b/crates/shim-protos/src/events/task.rs similarity index 100% rename from crates/shim-client/src/events/task.rs rename to crates/shim-protos/src/events/task.rs diff --git a/crates/shim-client/src/lib.rs b/crates/shim-protos/src/lib.rs similarity index 95% rename from crates/shim-client/src/lib.rs rename to crates/shim-protos/src/lib.rs index 60f2bf7..93fd734 100644 --- a/crates/shim-client/src/lib.rs +++ b/crates/shim-protos/src/lib.rs @@ -14,7 +14,7 @@ limitations under the License. */ -//! `containerd-shim-client` contains TTRPC bindings and client/server code to interact with +//! `containerd-shim-protos` contains TTRPC bindings and client/server code to interact with //! containerd's runtime v2 shims. //! //! This crate relies on [ttrpc-rust](https://github.com/containerd/ttrpc-rust) crate to generate @@ -22,7 +22,7 @@ //! //! Here is a quick example: //! ```no_run -//! use containerd_shim_client as client; +//! use containerd_shim_protos as client; //! //! use client::api; //! use client::ttrpc::context::Context; diff --git a/crates/shim-client/src/shim/empty.rs b/crates/shim-protos/src/shim/empty.rs similarity index 100% rename from crates/shim-client/src/shim/empty.rs rename to crates/shim-protos/src/shim/empty.rs diff --git a/crates/shim-client/src/shim/events.rs b/crates/shim-protos/src/shim/events.rs similarity index 100% rename from crates/shim-client/src/shim/events.rs rename to crates/shim-protos/src/shim/events.rs diff --git a/crates/shim-client/src/shim/events_ttrpc.rs b/crates/shim-protos/src/shim/events_ttrpc.rs similarity index 97% rename from crates/shim-client/src/shim/events_ttrpc.rs rename to crates/shim-protos/src/shim/events_ttrpc.rs index ff29cbb..e901f6e 100644 --- a/crates/shim-client/src/shim/events_ttrpc.rs +++ b/crates/shim-protos/src/shim/events_ttrpc.rs @@ -1,4 +1,4 @@ -// This file is generated by ttrpc-compiler 0.4.1. Do not edit +// This file is generated by ttrpc-compiler 0.5.0. Do not edit // @generated // https://github.com/Manishearth/rust-clippy/issues/702 diff --git a/crates/shim-client/src/shim/mod.rs b/crates/shim-protos/src/shim/mod.rs similarity index 100% rename from crates/shim-client/src/shim/mod.rs rename to crates/shim-protos/src/shim/mod.rs diff --git a/crates/shim-client/src/shim/mount.rs b/crates/shim-protos/src/shim/mount.rs similarity index 100% rename from crates/shim-client/src/shim/mount.rs rename to crates/shim-protos/src/shim/mount.rs diff --git a/crates/shim-client/src/shim/shim.rs b/crates/shim-protos/src/shim/shim.rs similarity index 100% rename from crates/shim-client/src/shim/shim.rs rename to crates/shim-protos/src/shim/shim.rs diff --git a/crates/shim-client/src/shim/shim_ttrpc.rs b/crates/shim-protos/src/shim/shim_ttrpc.rs similarity index 99% rename from crates/shim-client/src/shim/shim_ttrpc.rs rename to crates/shim-protos/src/shim/shim_ttrpc.rs index 51975de..9b64369 100644 --- a/crates/shim-client/src/shim/shim_ttrpc.rs +++ b/crates/shim-protos/src/shim/shim_ttrpc.rs @@ -1,4 +1,4 @@ -// This file is generated by ttrpc-compiler 0.4.1. Do not edit +// This file is generated by ttrpc-compiler 0.5.0. Do not edit // @generated // https://github.com/Manishearth/rust-clippy/issues/702 diff --git a/crates/shim-client/src/shim/task.rs b/crates/shim-protos/src/shim/task.rs similarity index 100% rename from crates/shim-client/src/shim/task.rs rename to crates/shim-protos/src/shim/task.rs diff --git a/crates/shim-client/src/topics.rs b/crates/shim-protos/src/topics.rs similarity index 100% rename from crates/shim-client/src/topics.rs rename to crates/shim-protos/src/topics.rs diff --git a/crates/shim-client/tests/ttrpc.rs b/crates/shim-protos/tests/ttrpc.rs similarity index 96% rename from crates/shim-client/tests/ttrpc.rs rename to crates/shim-protos/tests/ttrpc.rs index c03e85d..f4b0ad2 100644 --- a/crates/shim-client/tests/ttrpc.rs +++ b/crates/shim-protos/tests/ttrpc.rs @@ -7,9 +7,9 @@ use std::collections::HashMap; use std::sync::mpsc::channel; use std::sync::Arc; -use containerd_shim_client::api::{CreateTaskRequest, CreateTaskResponse, DeleteRequest}; -use containerd_shim_client::shim::shim_ttrpc::create_task; -use containerd_shim_client::Task; +use containerd_shim_protos::api::{CreateTaskRequest, CreateTaskResponse, DeleteRequest}; +use containerd_shim_protos::shim::shim_ttrpc::create_task; +use containerd_shim_protos::Task; use protobuf::{CodedInputStream, CodedOutputStream, Message}; use ttrpc::common::{MESSAGE_TYPE_REQUEST, MESSAGE_TYPE_RESPONSE}; use ttrpc::{Code, MessageHeader, Request, Response, TtrpcContext}; diff --git a/crates/shim-client/vendor/README.md b/crates/shim-protos/vendor/README.md similarity index 100% rename from crates/shim-client/vendor/README.md rename to crates/shim-protos/vendor/README.md diff --git a/crates/shim-client/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto b/crates/shim-protos/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto rename to crates/shim-protos/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/events/container.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/events/container.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/events/container.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/events/container.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/events/content.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/events/content.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/events/content.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/events/content.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/events/image.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/events/image.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/events/image.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/events/image.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/events/namespace.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/events/namespace.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/events/namespace.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/events/namespace.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/events/snapshot.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/events/snapshot.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/events/snapshot.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/events/snapshot.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/events/task.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/events/task.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/events/task.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/events/task.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/services/ttrpc/events/v1/events.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/services/ttrpc/events/v1/events.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/services/ttrpc/events/v1/events.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/services/ttrpc/events/v1/events.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/types/descriptor.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/types/descriptor.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/types/descriptor.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/types/descriptor.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/types/metrics.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/types/metrics.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/types/metrics.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/types/metrics.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/types/mount.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/types/mount.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/types/mount.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/types/mount.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/types/platform.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/types/platform.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/types/platform.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/types/platform.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/api/types/task/task.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/api/types/task/task.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/api/types/task/task.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/api/types/task/task.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/protobuf/plugin/fieldpath.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/protobuf/plugin/fieldpath.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/protobuf/plugin/fieldpath.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/protobuf/plugin/fieldpath.proto diff --git a/crates/shim-client/vendor/github.com/containerd/containerd/runtime/v2/task/shim.proto b/crates/shim-protos/vendor/github.com/containerd/containerd/runtime/v2/task/shim.proto similarity index 100% rename from crates/shim-client/vendor/github.com/containerd/containerd/runtime/v2/task/shim.proto rename to crates/shim-protos/vendor/github.com/containerd/containerd/runtime/v2/task/shim.proto diff --git a/crates/shim-client/vendor/gogoproto/gogo.proto b/crates/shim-protos/vendor/gogoproto/gogo.proto similarity index 100% rename from crates/shim-client/vendor/gogoproto/gogo.proto rename to crates/shim-protos/vendor/gogoproto/gogo.proto diff --git a/crates/shim-client/vendor/google/protobuf/any.proto b/crates/shim-protos/vendor/google/protobuf/any.proto similarity index 100% rename from crates/shim-client/vendor/google/protobuf/any.proto rename to crates/shim-protos/vendor/google/protobuf/any.proto diff --git a/crates/shim-client/vendor/google/protobuf/descriptor.proto b/crates/shim-protos/vendor/google/protobuf/descriptor.proto similarity index 100% rename from crates/shim-client/vendor/google/protobuf/descriptor.proto rename to crates/shim-protos/vendor/google/protobuf/descriptor.proto diff --git a/crates/shim-client/vendor/google/protobuf/empty.proto b/crates/shim-protos/vendor/google/protobuf/empty.proto similarity index 100% rename from crates/shim-client/vendor/google/protobuf/empty.proto rename to crates/shim-protos/vendor/google/protobuf/empty.proto diff --git a/crates/shim-client/vendor/google/protobuf/timestamp.proto b/crates/shim-protos/vendor/google/protobuf/timestamp.proto similarity index 100% rename from crates/shim-client/vendor/google/protobuf/timestamp.proto rename to crates/shim-protos/vendor/google/protobuf/timestamp.proto diff --git a/crates/shim/Cargo.toml b/crates/shim/Cargo.toml index 3c6231a..ea6d0cf 100644 --- a/crates/shim/Cargo.toml +++ b/crates/shim/Cargo.toml @@ -17,7 +17,7 @@ libc = "0.2.95" nix = "0.23.1" command-fds = "0.2.1" -containerd-shim-client = { path = "../shim-client", version = "0.1.0" } +containerd-shim-protos = { path = "../shim-protos", version = "0.1.0" } [dev-dependencies] tempfile = "3.0" diff --git a/crates/shim/examples/publish.rs b/crates/shim/examples/publish.rs index 48874ac..388dfd4 100644 --- a/crates/shim/examples/publish.rs +++ b/crates/shim/examples/publish.rs @@ -17,7 +17,7 @@ use std::env; use containerd_shim::{ttrpc::context::Context, RemotePublisher}; -use containerd_shim_client::events::task::TaskOOM; +use containerd_shim_protos::events::task::TaskOOM; fn main() { let args: Vec = env::args().collect(); diff --git a/crates/shim/src/lib.rs b/crates/shim/src/lib.rs index d4c3ef2..c3bae9d 100644 --- a/crates/shim/src/lib.rs +++ b/crates/shim/src/lib.rs @@ -30,7 +30,7 @@ use std::path::{Path, PathBuf}; use std::process::{self, Command, Stdio}; use std::sync::{Arc, Condvar, Mutex}; -pub use containerd_shim_client as protos; +pub use containerd_shim_protos as protos; use protos::protobuf::Message; use protos::shim::{shim::DeleteResponse, shim_ttrpc::create_task}; diff --git a/crates/shim/src/publisher.rs b/crates/shim/src/publisher.rs index 4a14f3f..775f975 100644 --- a/crates/shim/src/publisher.rs +++ b/crates/shim/src/publisher.rs @@ -18,7 +18,7 @@ use std::time::{SystemTime, UNIX_EPOCH}; -use containerd_shim_client as client; +use containerd_shim_protos as client; use client::protobuf; use client::shim::{empty, events};