From 48b5993a25ff9f835239f8f504e163c0c545fe5d Mon Sep 17 00:00:00 2001 From: Ian Letourneau Date: Thu, 23 Oct 2025 11:00:54 -0400 Subject: [PATCH] describe grpc pod config --- harmony/src/domain/topology/ha_cluster.rs | 1 + harmony/src/infra/kubers/types.rs | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/harmony/src/domain/topology/ha_cluster.rs b/harmony/src/domain/topology/ha_cluster.rs index 4107953..a8c3a91 100644 --- a/harmony/src/domain/topology/ha_cluster.rs +++ b/harmony/src/domain/topology/ha_cluster.rs @@ -130,6 +130,7 @@ impl HAClusterTopology { target_namespaces: vec!["nmstate".to_string()], }, }; + debug!("Creating NMState operator group: {nmstate_operator_group:#?}"); k8s_client .apply(&nmstate_operator_group, Some("nmstate")) diff --git a/harmony/src/infra/kubers/types.rs b/harmony/src/infra/kubers/types.rs index 4e7db49..48384ea 100644 --- a/harmony/src/infra/kubers/types.rs +++ b/harmony/src/infra/kubers/types.rs @@ -1,3 +1,5 @@ +use std::collections::BTreeMap; + use kube::CustomResource; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; @@ -15,6 +17,8 @@ pub struct CatalogSourceSpec { pub image: String, pub display_name: String, pub publisher: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub grpc_pod_config: Option, } impl Default for CatalogSource { @@ -25,3 +29,12 @@ impl Default for CatalogSource { } } } + +#[derive(Default, Serialize, Deserialize, Clone, Debug, JsonSchema)] +#[serde(rename_all = "camelCase")] +pub struct GrpcPodConfig { + #[serde(skip_serializing_if = "Option::is_none")] + pub memory_target: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub node_selector: Option>, +}