From fa706cbcbff8252df6d485b6438ae96d54ec6560 Mon Sep 17 00:00:00 2001 From: kazk Date: Fri, 18 Dec 2020 16:05:25 -0800 Subject: [PATCH] Add shemars as dev-dependency and fix tests --- kube-derive/Cargo.toml | 1 + kube-derive/src/lib.rs | 6 ++++-- kube-runtime/Cargo.toml | 1 + kube-runtime/src/controller.rs | 3 ++- kube/Cargo.toml | 1 + kube/src/api/dynamic.rs | 3 ++- 6 files changed, 11 insertions(+), 4 deletions(-) diff --git a/kube-derive/Cargo.toml b/kube-derive/Cargo.toml index ee61bf510..a8835f4bb 100644 --- a/kube-derive/Cargo.toml +++ b/kube-derive/Cargo.toml @@ -22,3 +22,4 @@ proc-macro = true serde = { version = "1.0.111", features = ["derive"] } serde_yaml = "0.8.12" k8s-openapi = { version = "0.10.0", default-features = false, features = ["v1_18"] } +schemars = "0.8.0" diff --git a/kube-derive/src/lib.rs b/kube-derive/src/lib.rs index 951e448fb..2fc319acc 100644 --- a/kube-derive/src/lib.rs +++ b/kube-derive/src/lib.rs @@ -59,8 +59,9 @@ use custom_resource::CustomResource; /// ```rust /// use serde::{Serialize, Deserialize}; /// use kube_derive::CustomResource; +/// use schemars::JsonSchema; /// -/// #[derive(CustomResource, Clone, Debug, Deserialize, Serialize)] +/// #[derive(CustomResource, Clone, Debug, Deserialize, Serialize, JsonSchema)] /// #[kube(group = "clux.dev", version = "v1", kind = "Foo", namespaced)] /// struct FooSpec { /// info: String, @@ -142,8 +143,9 @@ use custom_resource::CustomResource; /// ```rust /// use serde::{Serialize, Deserialize}; /// use kube_derive::CustomResource; +/// use schemars::JsonSchema; /// -/// #[derive(CustomResource, Serialize, Deserialize, Debug, PartialEq, Clone)] +/// #[derive(CustomResource, Serialize, Deserialize, Debug, PartialEq, Clone, JsonSchema)] /// #[kube( /// group = "clux.dev", /// version = "v1", diff --git a/kube-runtime/Cargo.toml b/kube-runtime/Cargo.toml index c65bcdf03..1a13dbeb5 100644 --- a/kube-runtime/Cargo.toml +++ b/kube-runtime/Cargo.toml @@ -42,3 +42,4 @@ kube-derive = { path = "../kube-derive", version = "^0.43.0"} serde_json = "1.0.57" tokio = { version = "0.2.22", features = ["full", "test-util"] } rand = "0.7.3" +schemars = "0.8.0" diff --git a/kube-runtime/src/controller.rs b/kube-runtime/src/controller.rs index 4016a1588..63273ecda 100644 --- a/kube-runtime/src/controller.rs +++ b/kube-runtime/src/controller.rs @@ -226,12 +226,13 @@ where /// use futures::StreamExt; /// use kube_runtime::controller::{Context, Controller, ReconcilerAction}; /// use k8s_openapi::api::core::v1::ConfigMap; +/// use schemars::JsonSchema; /// /// use snafu::{Backtrace, OptionExt, ResultExt, Snafu}; /// #[derive(Debug, Snafu)] /// enum Error {} /// /// A custom resource -/// #[derive(CustomResource, Debug, Clone, Deserialize, Serialize)] +/// #[derive(CustomResource, Debug, Clone, Deserialize, Serialize, JsonSchema)] /// #[kube(group = "nullable.se", version = "v1", kind = "ConfigMapGenerator", namespaced)] /// struct ConfigMapGeneratorSpec { /// content: String, diff --git a/kube/Cargo.toml b/kube/Cargo.toml index d1191323a..5f82aac0f 100644 --- a/kube/Cargo.toml +++ b/kube/Cargo.toml @@ -61,6 +61,7 @@ features = [] [dev-dependencies] tempfile = "3.1.0" tokio = { version = "0.2.21", features = ["full"] } +schemars = "0.8.0" [dev-dependencies.k8s-openapi] version = "0.10.0" diff --git a/kube/src/api/dynamic.rs b/kube/src/api/dynamic.rs index 2a0d70a3c..ce2f53159 100644 --- a/kube/src/api/dynamic.rs +++ b/kube/src/api/dynamic.rs @@ -221,8 +221,9 @@ mod test { #[ignore] // circle has no kubeconfig async fn convenient_custom_resource() { use crate::{Api, Client, CustomResource}; + use schemars::JsonSchema; use serde::{Deserialize, Serialize}; - #[derive(Clone, Debug, CustomResource, Deserialize, Serialize)] + #[derive(Clone, Debug, CustomResource, Deserialize, Serialize, JsonSchema)] #[kube(group = "clux.dev", version = "v1", kind = "Foo", namespaced)] struct FooSpec { foo: String,