Skip to content

Commit

Permalink
update jsonptr + json-patch (kube-rs#1600)
Browse files Browse the repository at this point in the history
Pointer -> PointerBuf

Signed-off-by: Aviram Hassan <[email protected]>
Co-authored-by: Eirik A <[email protected]>
  • Loading branch information
aviramha and clux authored Oct 11, 2024
1 parent 2280962 commit a6060c4
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 14 deletions.
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ hyper-openssl = "0.10.2"
hyper-rustls = { version = "0.27.1", default-features = false }
hyper-socks2 = { version = "0.9.0", default-features = false }
hyper-timeout = "0.5.1"
json-patch = "2.0.0"
jsonptr = "0.4.7"
json-patch = "3"
jsonptr = "0.6"
jsonpath-rust = "0.5.0"
k8s-openapi = { version = "0.23.0", default-features = false }
openssl = "0.10.36"
Expand Down
6 changes: 3 additions & 3 deletions examples/admission_controller.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use jsonptr::Pointer;
use jsonptr::PointerBuf;
use kube::core::{
admission::{AdmissionRequest, AdmissionResponse, AdmissionReview},
DynamicObject, Resource, ResourceExt,
Expand Down Expand Up @@ -76,13 +76,13 @@ fn mutate(res: AdmissionResponse, obj: &DynamicObject) -> Result<AdmissionRespon
// Ensure labels exist before adding a key to it
if obj.meta().labels.is_none() {
patches.push(json_patch::PatchOperation::Add(json_patch::AddOperation {
path: Pointer::new(["metadata", "labels"]),
path: PointerBuf::from_tokens(["metadata", "labels"]),
value: serde_json::json!({}),
}));
}
// Add our label
patches.push(json_patch::PatchOperation::Add(json_patch::AddOperation {
path: Pointer::new(["metadata", "labels", "admission"]),
path: PointerBuf::from_tokens(["metadata", "labels", "admission"]),
value: serde_json::Value::String("modified-by-admission-controller".into()),
}));
Ok(res.with_patch(json_patch::Patch(patches))?)
Expand Down
4 changes: 2 additions & 2 deletions kube-core/src/admission.rs
Original file line number Diff line number Diff line change
Expand Up @@ -223,12 +223,12 @@ pub enum Operation {
/// .into_review();
///
/// use json_patch::{AddOperation, Patch, PatchOperation};
/// use jsonptr::Pointer;
/// use jsonptr::PointerBuf;
///
/// // A response adding a label to the resource.
/// let _: AdmissionReview<_> = AdmissionResponse::from(&req)
/// .with_patch(Patch(vec![PatchOperation::Add(AddOperation {
/// path: Pointer::new(["metadata","labels","my-label"]),
/// path: PointerBuf::from_tokens(["metadata","labels","my-label"]),
/// value: serde_json::Value::String("my-value".to_owned()),
/// })]))
/// .unwrap()
Expand Down
14 changes: 7 additions & 7 deletions kube-runtime/src/finalizer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
use crate::controller::Action;
use futures::{TryFuture, TryFutureExt};
use json_patch::{AddOperation, PatchOperation, RemoveOperation, TestOperation};
use jsonptr::Pointer;
use jsonptr::PointerBuf;
use kube_client::{
api::{Patch, PatchParams},
Api, Resource, ResourceExt,
Expand Down Expand Up @@ -142,12 +142,12 @@ where
// `Test` ensures that we fail instead of deleting someone else's finalizer
// (in which case a new `Cleanup` event will be sent)
PatchOperation::Test(TestOperation {
path: Pointer::from_str(finalizer_path.as_str())
path: PointerBuf::from_str(finalizer_path.as_str())
.map_err(|_err| Error::InvalidFinalizer)?,
value: finalizer_name.into(),
}),
PatchOperation::Remove(RemoveOperation {
path: Pointer::from_str(finalizer_path.as_str())
path: PointerBuf::from_str(finalizer_path.as_str())
.map_err(|_err| Error::InvalidFinalizer)?,
}),
])),
Expand All @@ -164,12 +164,12 @@ where
let patch = json_patch::Patch(if obj.finalizers().is_empty() {
vec![
PatchOperation::Test(TestOperation {
path: Pointer::from_str("/metadata/finalizers")
path: PointerBuf::from_str("/metadata/finalizers")
.map_err(|_err| Error::InvalidFinalizer)?,
value: serde_json::Value::Null,
}),
PatchOperation::Add(AddOperation {
path: Pointer::from_str("/metadata/finalizers")
path: PointerBuf::from_str("/metadata/finalizers")
.map_err(|_err| Error::InvalidFinalizer)?,
value: vec![finalizer_name].into(),
}),
Expand All @@ -180,12 +180,12 @@ where
// https://github.com/kube-rs/kube/issues/964#issuecomment-1197311254),
// so we need to fail and retry if anyone else has added the finalizer in the meantime
PatchOperation::Test(TestOperation {
path: Pointer::from_str("/metadata/finalizers")
path: PointerBuf::from_str("/metadata/finalizers")
.map_err(|_err| Error::InvalidFinalizer)?,
value: obj.finalizers().into(),
}),
PatchOperation::Add(AddOperation {
path: Pointer::from_str("/metadata/finalizers/-")
path: PointerBuf::from_str("/metadata/finalizers/-")
.map_err(|_err| Error::InvalidFinalizer)?,
value: finalizer_name.into(),
}),
Expand Down

0 comments on commit a6060c4

Please sign in to comment.