Skip to content

Commit

Permalink
Add shemars as dev-dependency and fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kazk committed Dec 19, 2020
1 parent 95651b8 commit 2aeee34
Show file tree
Hide file tree
Showing 10 changed files with 19 additions and 8 deletions.
3 changes: 2 additions & 1 deletion examples/configmapgen_controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ use kube::{
Api, Client, CustomResource,
};
use kube_runtime::controller::{Context, Controller, ReconcilerAction};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use snafu::{Backtrace, OptionExt, ResultExt, Snafu};
use std::collections::BTreeMap;
Expand All @@ -32,7 +33,7 @@ enum Error {
},
}

#[derive(CustomResource, Debug, Clone, Deserialize, Serialize)]
#[derive(CustomResource, Debug, Clone, Deserialize, Serialize, JsonSchema)]
#[kube(group = "nullable.se", version = "v1", kind = "ConfigMapGenerator")]
#[kube(shortname = "cmg", namespaced)]
struct ConfigMapGeneratorSpec {
Expand Down
3 changes: 2 additions & 1 deletion examples/crd_api.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#[macro_use] extern crate log;
use either::Either::{Left, Right};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use serde_json::json;
use std::time::Duration;
Expand All @@ -14,7 +15,7 @@ use kube::{
};

// Own custom resource
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug)]
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug, JsonSchema)]
#[kube(group = "clux.dev", version = "v1", kind = "Foo", namespaced)]
#[kube(apiextensions = "v1beta1")]
#[kube(status = "FooStatus")]
Expand Down
3 changes: 2 additions & 1 deletion examples/crd_apply.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#[macro_use] extern crate log;
use futures::{StreamExt, TryStreamExt};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

use apiexts::CustomResourceDefinition;
Expand All @@ -14,7 +15,7 @@ use kube::{
// Please test against Kubernetes 1.16.X!

// Own custom resource
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug)]
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug, JsonSchema)]
#[kube(group = "clux.dev", version = "v1", kind = "Foo", namespaced)]
#[kube(status = "FooStatus")]
#[kube(apiextensions = "v1beta1")] // remove this if using Kubernetes >= 1.17
Expand Down
3 changes: 2 additions & 1 deletion examples/crd_reflector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ use kube::{
Client, CustomResource,
};
use kube_runtime::{reflector, utils::try_flatten_applied, watcher};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(CustomResource, Deserialize, Serialize, Clone, Debug)]
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug, JsonSchema)]
#[kube(group = "clux.dev", version = "v1", kind = "Foo", namespaced)]
pub struct FooSpec {
name: String,
Expand Down
1 change: 1 addition & 0 deletions kube-derive/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
6 changes: 4 additions & 2 deletions kube-derive/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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",
Expand Down
1 change: 1 addition & 0 deletions kube-runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
3 changes: 2 additions & 1 deletion kube-runtime/src/controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions kube/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
3 changes: 2 additions & 1 deletion kube/src/api/dynamic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 2aeee34

Please sign in to comment.