Skip to content

Commit 4873ac2

Browse files
committed
Take owned value
1 parent cb0de44 commit 4873ac2

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

crates/stackable-operator/src/cluster_resources.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ impl ClusterResource for Deployment {
424424
/// }
425425
/// ```
426426
#[derive(Debug, PartialEq)]
427-
pub struct ClusterResources<'a> {
427+
pub struct ClusterResources {
428428
/// The namespace of the cluster
429429
namespace: String,
430430

@@ -454,10 +454,10 @@ pub struct ClusterResources<'a> {
454454
apply_strategy: ClusterResourceApplyStrategy,
455455

456456
/// Arbitrary Kubernetes object overrides specified by the user via the CRD.
457-
object_overrides: &'a ObjectOverrides,
457+
object_overrides: ObjectOverrides,
458458
}
459459

460-
impl<'a> ClusterResources<'a> {
460+
impl ClusterResources {
461461
/// Constructs new `ClusterResources`.
462462
///
463463
/// # Arguments
@@ -483,7 +483,7 @@ impl<'a> ClusterResources<'a> {
483483
controller_name: &str,
484484
cluster: &ObjectReference,
485485
apply_strategy: ClusterResourceApplyStrategy,
486-
object_overrides: &'a ObjectOverrides,
486+
object_overrides: ObjectOverrides,
487487
) -> Result<Self> {
488488
let namespace = cluster
489489
.namespace
@@ -581,7 +581,8 @@ impl<'a> ClusterResources<'a> {
581581
let mut mutated = resource.maybe_mutate(&self.apply_strategy);
582582

583583
// We apply the object overrides of the user at the very last to offer maximum flexibility.
584-
apply_patches(&mut mutated, self.object_overrides).context(ApplyObjectOverridesSnafu)?;
584+
apply_patches(&mut mutated, self.object_overrides.clone())
585+
.context(ApplyObjectOverridesSnafu)?;
585586

586587
let patched_resource = self
587588
.apply_strategy

crates/stackable-operator/src/patchinator/mod.rs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ pub enum Error {
1818
},
1919
}
2020

21-
pub fn apply_patches<R>(base: &mut R, patches: &ObjectOverrides) -> Result<(), Error>
21+
pub fn apply_patches<R>(base: &mut R, patches: ObjectOverrides) -> Result<(), Error>
2222
where
2323
R: kube::Resource<DynamicType = ()> + DeepMerge + DeserializeOwned,
2424
{
25-
for patch in &patches.object_overrides {
25+
for patch in patches.object_overrides {
2626
apply_patch(base, patch)?;
2727
}
2828
Ok(())
2929
}
3030

31-
pub fn apply_patch<R>(base: &mut R, patch: &DynamicObject) -> Result<(), Error>
31+
pub fn apply_patch<R>(base: &mut R, patch: DynamicObject) -> Result<(), Error>
3232
where
3333
R: kube::Resource<DynamicType = ()> + DeepMerge + DeserializeOwned,
3434
{
@@ -53,14 +53,12 @@ where
5353
return Ok(());
5454
}
5555

56-
let deserialized_patch =
57-
patch
58-
.clone()
59-
.try_parse()
60-
.with_context(|_| ParseDynamicObjectSnafu {
61-
target_api_version: R::api_version(&()),
62-
target_kind: R::kind(&()),
63-
})?;
56+
let deserialized_patch = patch
57+
.try_parse()
58+
.with_context(|_| ParseDynamicObjectSnafu {
59+
target_api_version: R::api_version(&()),
60+
target_kind: R::kind(&()),
61+
})?;
6462
base.merge_from(deserialized_patch);
6563

6664
Ok(())
@@ -185,7 +183,7 @@ objectOverrides:
185183
.expect("test input is valid YAML");
186184

187185
assert_has_label(&sa, "app.kubernetes.io/name", "trino");
188-
apply_patches(&mut sa, &object_overrides).unwrap();
186+
apply_patches(&mut sa, object_overrides).unwrap();
189187
assert_has_label(&sa, "app.kubernetes.io/name", "overwritten");
190188
}
191189

@@ -208,7 +206,7 @@ objectOverrides:
208206
.expect("test input is valid YAML");
209207

210208
let original = sa.clone();
211-
apply_patches(&mut sa, &object_overrides).unwrap();
209+
apply_patches(&mut sa, object_overrides).unwrap();
212210
assert_eq!(sa, original, "The patch shouldn't have changed anything");
213211
}
214212

@@ -231,7 +229,7 @@ objectOverrides:
231229
.expect("test input is valid YAML");
232230

233231
let original = sa.clone();
234-
apply_patches(&mut sa, &object_overrides).unwrap();
232+
apply_patches(&mut sa, object_overrides).unwrap();
235233
assert_eq!(sa, original, "The patch shouldn't have changed anything");
236234
}
237235

@@ -254,7 +252,7 @@ objectOverrides:
254252
.expect("test input is valid YAML");
255253

256254
let original = sa.clone();
257-
apply_patches(&mut sa, &object_overrides).unwrap();
255+
apply_patches(&mut sa, object_overrides).unwrap();
258256
assert_eq!(sa, original, "The patch shouldn't have changed anything");
259257
}
260258

@@ -319,7 +317,7 @@ objectOverrides:
319317
get_trino_container_image(&sts).as_deref(),
320318
Some("trino-image")
321319
);
322-
apply_patches(&mut sts, &object_overrides).unwrap();
320+
apply_patches(&mut sts, object_overrides).unwrap();
323321
assert_eq!(get_replicas(&sts), Some(3));
324322
assert_eq!(
325323
get_trino_container_image(&sts).as_deref(),
@@ -371,7 +369,7 @@ objectOverrides:
371369
("log.properties".to_owned(), "=info".to_owned()),
372370
])
373371
);
374-
apply_patches(&mut cm, &object_overrides).unwrap();
372+
apply_patches(&mut cm, object_overrides).unwrap();
375373
assert_eq!(
376374
cm.data.as_ref().unwrap(),
377375
&BTreeMap::from([
@@ -427,7 +425,7 @@ objectOverrides:
427425
&BTreeMap::from([("raw".to_owned(), ByteString(b"bar\n".to_vec()))])
428426
);
429427

430-
apply_patches(&mut secret, &object_overrides).unwrap();
428+
apply_patches(&mut secret, object_overrides).unwrap();
431429
assert_eq!(
432430
secret.string_data.as_ref().unwrap(),
433431
&BTreeMap::from([("foo".to_owned(), "overwritten".to_owned()),])
@@ -475,7 +473,7 @@ objectOverrides:
475473
.expect("test input is valid YAML");
476474

477475
assert_has_label(&storage_class, "foo", "original");
478-
apply_patches(&mut storage_class, &object_overrides).unwrap();
476+
apply_patches(&mut storage_class, object_overrides).unwrap();
479477
assert_has_label(&storage_class, "foo", "overwritten");
480478
}
481479

0 commit comments

Comments
 (0)