From 55a4e79ec440e7fed877c15b6916effd9b566b79 Mon Sep 17 00:00:00 2001 From: Willem Date: Mon, 14 Jul 2025 14:18:32 -0400 Subject: [PATCH] fix: added updated Cargo --- Cargo.lock | 59 ++++++++++++++- harmony/Cargo.toml | 4 +- .../kube_prometheus/alert_manager_config.rs | 74 ------------------- 3 files changed, 59 insertions(+), 78 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9481478..df4ce75 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1746,6 +1746,7 @@ dependencies = [ "k3d-rs", "k8s-openapi", "kube", + "kube-derive", "lazy_static", "libredfish", "log", @@ -1757,6 +1758,7 @@ dependencies = [ "reqwest 0.11.27", "russh", "rust-ipmi", + "schemars 0.8.22", "semver", "serde", "serde-value", @@ -2600,6 +2602,7 @@ dependencies = [ "k8s-openapi", "kube-client", "kube-core", + "kube-derive", "kube-runtime", ] @@ -2653,12 +2656,27 @@ dependencies = [ "http 1.3.1", "json-patch", "k8s-openapi", + "schemars 0.8.22", "serde", "serde-value", "serde_json", "thiserror 2.0.12", ] +[[package]] +name = "kube-derive" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "079fc8c1c397538628309cfdee20696ebdcc26745f9fb17f89b78782205bd995" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "kube-runtime" version = "1.1.0" @@ -4070,6 +4088,18 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + [[package]] name = "schemars" version = "0.9.0" @@ -4084,9 +4114,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1375ba8ef45a6f15d83fa8748f1079428295d403d6ea991d09ab100155fbc06d" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", "ref-cast", @@ -4094,6 +4124,18 @@ dependencies = [ "serde_json", ] +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -4226,6 +4268,17 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "serde_json" version = "1.0.140" @@ -4304,7 +4357,7 @@ dependencies = [ "indexmap 1.9.3", "indexmap 2.10.0", "schemars 0.9.0", - "schemars 1.0.3", + "schemars 1.0.4", "serde", "serde_derive", "serde_json", diff --git a/harmony/Cargo.toml b/harmony/Cargo.toml index ec2e2fa..a2665a5 100644 --- a/harmony/Cargo.toml +++ b/harmony/Cargo.toml @@ -27,7 +27,7 @@ harmony_macros = { path = "../harmony_macros" } harmony_types = { path = "../harmony_types" } uuid.workspace = true url.workspace = true -kube.workspace = true +kube = { workspace = true, features = ["derive"] } k8s-openapi.workspace = true serde_yaml.workspace = true http.workspace = true @@ -59,6 +59,8 @@ tokio-util = "0.7.15" strum = { version = "0.27.1", features = ["derive"] } tempfile = "3.20.0" serde_with = "3.14.0" +schemars = "0.8.22" +kube-derive = "1.1.0" [dev-dependencies] pretty_assertions.workspace = true diff --git a/harmony/src/modules/monitoring/kube_prometheus/alert_manager_config.rs b/harmony/src/modules/monitoring/kube_prometheus/alert_manager_config.rs index 254cd39..3cc28cc 100644 --- a/harmony/src/modules/monitoring/kube_prometheus/alert_manager_config.rs +++ b/harmony/src/modules/monitoring/kube_prometheus/alert_manager_config.rs @@ -1,80 +1,6 @@ use std::sync::Arc; use async_trait::async_trait; -// use k8s_openapi::{Metadata, NamespaceResourceScope}; -// use kube::Resource; -// use serde::Serialize; -// use strum::EnumString; -// -// use crate::topology::Url; -// -// -// pub trait CRDAlertManagerConfigs { -// fn get_crd_alert_manager_config(&self) -> CRDAlertManagerConfig;} -// -// #[derive(Debug, Clone, Serialize)] -// pub struct CRDAlertManagerConfig { -// pub name: String, -// pub namespace: String, -// pub receivers: Vec, -// pub matchers: Vec, -// } -// -// #[derive(Debug, Clone, Serialize)] -// pub struct Receiver { -// pub receiver_name: String, -// pub configs: Config, -// } -// -// #[derive(Debug, Clone, Serialize)] -// pub struct Config{ -// pub url: Url, -// } -// -// #[derive(Debug, Clone, Serialize)] -// pub struct Matchers{ -// pub name: String, -// pub r#type: MatchType, -// pub value: String, -// } -// -// #[derive(Debug, EnumString, Clone, Serialize)] -// pub enum MatchType{ -// #[strum(serialize = "=")] -// Equal, -// #[strum(serialize = "!=")] -// NotEqual, -// } -// -// impl Resource for CRDAlertManagerConfig { -// type DynamicType = (); -// -// type Scope = NamespaceResourceScope; -// -// fn kind(_: &Self::DynamicType) -> std::borrow::Cow<'_, str> { -// "AlertmanagerConfig".into() -// } -// -// fn group(_: &Self::DynamicType) -> std::borrow::Cow<'_, str> { -// "monitoring.coreos.com".into() -// } -// -// fn version(_: &Self::DynamicType) -> std::borrow::Cow<'_, str> { -// "v1alpha1".into() -// } -// -// fn plural(_: &Self::DynamicType) -> std::borrow::Cow<'_, str> { -// "alertmanagerconfigs".into() -// } -// -// fn meta(&self) -> &kube::api::ObjectMeta { -// &self.metadata) -// } -// -// fn meta_mut(&mut self) -> &mut kube::api::ObjectMeta { -// &mut self.metadata -// } -// } use kube::{CustomResource, api::ObjectMeta}; use schemars::JsonSchema; use serde::{Deserialize, Serialize};