aboutsummaryrefslogtreecommitdiffstats
path: root/crates/configuration/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/configuration/src')
-rw-r--r--crates/configuration/src/state.rs4
-rw-r--r--crates/configuration/src/state/routing/mutate_routing.rs20
-rw-r--r--crates/configuration/src/state/rule/mutate_rule.rs22
3 files changed, 39 insertions, 7 deletions
diff --git a/crates/configuration/src/state.rs b/crates/configuration/src/state.rs
index d8f22d5..f337a54 100644
--- a/crates/configuration/src/state.rs
+++ b/crates/configuration/src/state.rs
@@ -4,6 +4,7 @@ mod rule;
use async_nats::jetstream::Context;
use opentelemetry_semantic_conventions::attribute;
+use prost::Message;
use sqlx::PgPool;
use std::{ops::Deref, sync::Arc};
use tracing::{Instrument, info_span, instrument, trace};
@@ -91,10 +92,11 @@ pub async fn publish_reload(
span.set_attribute(attribute::MESSAGING_SYSTEM, "nats");
span.set_attribute("otel.kind", "producer");
+ let bytes = event.encode_to_vec();
state
.services
.jetstream
- .publish(format!("{prefix}.reload"), event.as_str_name().into())
+ .publish(format!("{prefix}.reload"), bytes.into())
.instrument(span)
.await
.map_err(|e| tonic::Status::internal(e.to_string()))?;
diff --git a/crates/configuration/src/state/routing/mutate_routing.rs b/crates/configuration/src/state/routing/mutate_routing.rs
index 105cf18..9542ba7 100644
--- a/crates/configuration/src/state/routing/mutate_routing.rs
+++ b/crates/configuration/src/state/routing/mutate_routing.rs
@@ -4,7 +4,7 @@ use tracing::{Instrument, error, info_span, instrument, trace};
use tracing_opentelemetry::OpenTelemetrySpanExt;
use uuid::Uuid;
use warden_core::configuration::{
- ReloadEvent,
+ ConfigKind, ReloadEvent,
routing::{
DeleteConfigurationRequest, RoutingConfiguration, UpdateRoutingRequest,
mutate_routing_server::MutateRouting,
@@ -100,7 +100,14 @@ impl MutateRouting for AppHandle {
let (_del_result, _publish_result) = tokio::try_join!(
invalidate_cache(self, CacheKey::Routing(&id)),
- publish_reload(self, conf, ReloadEvent::Routing)
+ publish_reload(
+ self,
+ conf,
+ ReloadEvent {
+ kind: ConfigKind::Routing.into(),
+ ..Default::default()
+ }
+ )
)?;
let res = updated.configuration.0;
@@ -151,7 +158,14 @@ impl MutateRouting for AppHandle {
let (_del_result, _publish_result) = tokio::try_join!(
invalidate_cache(self, CacheKey::Routing(&id)),
- publish_reload(self, conf, ReloadEvent::Routing)
+ publish_reload(
+ self,
+ conf,
+ ReloadEvent {
+ kind: ConfigKind::Routing.into(),
+ ..Default::default()
+ }
+ )
)?;
let res = updated.configuration.0;
diff --git a/crates/configuration/src/state/rule/mutate_rule.rs b/crates/configuration/src/state/rule/mutate_rule.rs
index 7b853aa..9c4f393 100644
--- a/crates/configuration/src/state/rule/mutate_rule.rs
+++ b/crates/configuration/src/state/rule/mutate_rule.rs
@@ -4,7 +4,7 @@ use tracing::{Instrument, error, info_span};
use tracing_opentelemetry::OpenTelemetrySpanExt;
use uuid::Uuid;
use warden_core::configuration::{
- ReloadEvent,
+ ConfigKind, ReloadEvent,
rule::{
DeleteRuleConfigurationRequest, RuleConfiguration, UpdateRuleRequest,
mutate_rule_configuration_server::MutateRuleConfiguration,
@@ -92,7 +92,15 @@ impl MutateRuleConfiguration for AppHandle {
version: &config.version,
}
),
- publish_reload(self, conf, ReloadEvent::Rule)
+ publish_reload(
+ self,
+ conf,
+ ReloadEvent {
+ kind: ConfigKind::Rule.into(),
+ id: Some(config.id.to_owned()),
+ version: Some(config.version.to_owned()),
+ }
+ )
)?;
Ok(Response::new(config))
@@ -144,7 +152,15 @@ impl MutateRuleConfiguration for AppHandle {
version: &request.version,
}
),
- publish_reload(self, conf, ReloadEvent::Rule)
+ publish_reload(
+ self,
+ conf,
+ ReloadEvent {
+ kind: ConfigKind::Rule.into(),
+ id: Some(request.id.to_owned()),
+ version: Some(request.version.to_owned()),
+ }
+ )
)?;
let res = updated.configuration.0;