From 19871c1924a8569df741d4bf5f63943b6b646c16 Mon Sep 17 00:00:00 2001 From: rtkay123 Date: Thu, 14 Aug 2025 18:33:10 +0200 Subject: feat(config): rule http --- lib/warden-core/build.rs | 27 +++++++++++++++++---------- lib/warden-core/src/configuration.rs | 4 ++++ lib/warden-stack/src/tracing/loki.rs | 2 +- lib/warden-stack/src/tracing/telemetry.rs | 8 ++++---- 4 files changed, 26 insertions(+), 15 deletions(-) (limited to 'lib') diff --git a/lib/warden-core/build.rs b/lib/warden-core/build.rs index 83b0407..c0496d9 100644 --- a/lib/warden-core/build.rs +++ b/lib/warden-core/build.rs @@ -20,18 +20,16 @@ impl Entity { #[cfg(feature = "configuration")] fn configuration_protos() -> Vec<&'static str> { + let mut base = vec![ + "proto/configuration/reload_event.proto", + "proto/configuration/rule.proto", + ]; if cfg!(feature = "message") { - vec![ - "proto/configuration/reload_event.proto", - ] + base } else { - vec![ - "proto/configuration/routing.proto", - "proto/configuration/reload_event.proto", - ] - + base.extend(["proto/configuration/routing.proto"]); + base } - } #[cfg(feature = "pseudonyms")] @@ -131,5 +129,14 @@ fn add_serde(config: tonic_prost_build::Builder) -> tonic_prost_build::Builder { any(feature = "message", feature = "pseudonyms", feature = "configuration") ))] fn add_openapi(config: tonic_prost_build::Builder) -> tonic_prost_build::Builder { - config.type_attribute(".", "#[derive(utoipa::ToSchema)]") + config + .type_attribute(".", "#[derive(utoipa::ToSchema)]") + .type_attribute( + ".configuration.rule.RuleConfigurationRequest", + "#[derive(utoipa::IntoParams)]", + ) + .type_attribute( + ".configuration.rule.DeleteRuleConfigurationRequest", + "#[derive(utoipa::IntoParams)]", + ) } diff --git a/lib/warden-core/src/configuration.rs b/lib/warden-core/src/configuration.rs index b620914..798c079 100644 --- a/lib/warden-core/src/configuration.rs +++ b/lib/warden-core/src/configuration.rs @@ -3,3 +3,7 @@ tonic::include_proto!("configuration"); pub mod routing { tonic::include_proto!("configuration.routing"); } + +pub mod rule { + tonic::include_proto!("configuration.rule"); +} diff --git a/lib/warden-stack/src/tracing/loki.rs b/lib/warden-stack/src/tracing/loki.rs index cbf4e40..be4968b 100644 --- a/lib/warden-stack/src/tracing/loki.rs +++ b/lib/warden-stack/src/tracing/loki.rs @@ -14,7 +14,7 @@ impl TracingBuilder { S::LokiTask: IsUnset, { use std::str::FromStr; - let url = FromStr::from_str(&monitoring.loki_endpoint.as_ref()) + let url = FromStr::from_str(monitoring.loki_endpoint.as_ref()) .map_err(|_e| crate::ServiceError::Unknown)?; let (layer, task) = tracing_loki::builder() diff --git a/lib/warden-stack/src/tracing/telemetry.rs b/lib/warden-stack/src/tracing/telemetry.rs index b024937..838d758 100644 --- a/lib/warden-stack/src/tracing/telemetry.rs +++ b/lib/warden-stack/src/tracing/telemetry.rs @@ -55,10 +55,10 @@ pub mod tonic { impl opentelemetry::propagation::Injector for MetadataMap<'_> { /// Set a key and value in the MetadataMap. Does nothing if the key or value are not valid inputs fn set(&mut self, key: &str, value: String) { - if let Ok(key) = tonic::metadata::MetadataKey::from_bytes(key.as_bytes()) { - if let Ok(val) = tonic::metadata::MetadataValue::try_from(&value) { - self.0.insert(key, val); - } + if let Ok(key) = tonic::metadata::MetadataKey::from_bytes(key.as_bytes()) + && let Ok(val) = tonic::metadata::MetadataValue::try_from(&value) + { + self.0.insert(key, val); } } } -- cgit v1.2.3