Skip to content

Commit

Permalink
Disable CSR utilities on K8s <1.19
Browse files Browse the repository at this point in the history
Fixes #816
  • Loading branch information
nightkr committed Feb 10, 2022
1 parent 4907b0a commit 94dd617
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 27 deletions.
26 changes: 26 additions & 0 deletions kube-client/src/api/util/csr.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
use crate::{api::Api, Error, Result};
use k8s_openapi::api::certificates::v1::CertificateSigningRequest;
use kube_core::params::{Patch, PatchParams};


impl Api<CertificateSigningRequest> {
/// Partially update approval of the specified CertificateSigningRequest.
pub async fn patch_approval<P: serde::Serialize>(
&self,
name: &str,
pp: &PatchParams,
patch: &Patch<P>,
) -> Result<CertificateSigningRequest> {
let mut req = self
.request
.patch_subresource("approval", name, pp, patch)
.map_err(Error::BuildRequest)?;
req.extensions_mut().insert("approval");
self.client.request::<CertificateSigningRequest>(req).await
}

/// Get the CertificateSigningRequest. May differ from get(name)
pub async fn get_approval(&self, name: &str) -> Result<CertificateSigningRequest> {
self.get_subresource("approval", name).await
}
}
33 changes: 6 additions & 27 deletions kube-client/src/api/util.rs → kube-client/src/api/util/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ use crate::{
api::{Api, Resource},
Error, Result,
};
use k8s_openapi::api::{certificates::v1::CertificateSigningRequest, core::v1::Node};
use kube_core::{
params::{Patch, PatchParams},
util::Restart,
};
use k8s_openapi::api::core::v1::Node;
use kube_core::util::Restart;
use serde::de::DeserializeOwned;

k8s_openapi::k8s_if_ge_1_19! {
mod csr;
}

impl<K> Api<K>
where
K: Restart + Resource + DeserializeOwned,
Expand Down Expand Up @@ -37,28 +38,6 @@ impl Api<Node> {
}
}

impl Api<CertificateSigningRequest> {
/// Partially update approval of the specified CertificateSigningRequest.
pub async fn patch_approval<P: serde::Serialize>(
&self,
name: &str,
pp: &PatchParams,
patch: &Patch<P>,
) -> Result<CertificateSigningRequest> {
let mut req = self
.request
.patch_subresource("approval", name, pp, patch)
.map_err(Error::BuildRequest)?;
req.extensions_mut().insert("approval");
self.client.request::<CertificateSigningRequest>(req).await
}

/// Get the CertificateSigningRequest. May differ from get(name)
pub async fn get_approval(&self, name: &str) -> Result<CertificateSigningRequest> {
self.get_subresource("approval", name).await
}
}

// Tests that require a cluster and the complete feature set
// Can be run with `cargo test -p kube-client --lib -- --ignored`
#[cfg(test)]
Expand Down

0 comments on commit 94dd617

Please sign in to comment.