From e357f87b43e7c78a4e34372f4ba768e0d8a7641e Mon Sep 17 00:00:00 2001 From: spushk Date: Sat, 16 May 2026 10:29:55 +0500 Subject: [PATCH] feat(controller/utils): add bunch of zeroizers --- kuyaseg-controller/src/utils/mod.rs | 2 +- kuyaseg-controller/src/utils/zeroizers.rs | 31 +++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 kuyaseg-controller/src/utils/zeroizers.rs diff --git a/kuyaseg-controller/src/utils/mod.rs b/kuyaseg-controller/src/utils/mod.rs index 8b13789..0269ccf 100644 --- a/kuyaseg-controller/src/utils/mod.rs +++ b/kuyaseg-controller/src/utils/mod.rs @@ -1 +1 @@ - +pub mod zeroizers; diff --git a/kuyaseg-controller/src/utils/zeroizers.rs b/kuyaseg-controller/src/utils/zeroizers.rs new file mode 100644 index 0000000..36e9449 --- /dev/null +++ b/kuyaseg-controller/src/utils/zeroizers.rs @@ -0,0 +1,31 @@ +use zeroize::Zeroize; + +#[inline] +pub fn zeroize_bytestring(this: &mut k8s_openapi::ByteString) { + this.0.zeroize(); +} + +#[inline] +pub fn zeroize_btree(this: &mut std::collections::BTreeMap) { + this.values_mut().for_each(|v| v.zeroize()); +} + +#[inline] +pub fn zeroize_btree_of_bytestring(this: &mut std::collections::BTreeMap) { + this.values_mut().for_each(zeroize_bytestring); +} + +#[inline] +pub fn zeroize_hashmap(this: &mut std::collections::HashMap) { + this.values_mut().for_each(|v| v.zeroize()); +} + +#[inline] +pub fn zeroize_k8s_secret(this: &mut k8s_openapi::api::core::v1::Secret) { + if let Some(data) = this.data.as_mut() { + zeroize_btree_of_bytestring(data); + } + if let Some(data) = this.string_data.as_mut() { + zeroize_btree(data); + } +}