mirror of
https://github.com/mailscope/kumomta.git
synced 2026-09-10 20:42:14 +00:00
refactor: break out lifecycle
This commit is contained in:
Generated
+12
@@ -2251,6 +2251,17 @@ dependencies = [
|
||||
name = "kumo-server-common"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "kumo-server-lifecycle"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"once_cell",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"uuid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "kumo-server-memory"
|
||||
version = "0.1.0"
|
||||
@@ -2313,6 +2324,7 @@ dependencies = [
|
||||
"kumo-api-types",
|
||||
"kumo-log-types",
|
||||
"kumo-server-common",
|
||||
"kumo-server-lifecycle",
|
||||
"kumo-server-memory",
|
||||
"kumo-server-runtime",
|
||||
"lazy_static",
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
[package]
|
||||
name = "kumo-server-lifecycle"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
tracing = "0.1"
|
||||
tokio = {version="1.25", features=["full", "tracing"]}
|
||||
once_cell = "1.17"
|
||||
uuid = {version="1.3", features=["v4", "fast-rng"]}
|
||||
@@ -34,6 +34,7 @@ json_comments = "0.2"
|
||||
kumo-api-types = {path="../kumo-api-types"}
|
||||
kumo-log-types = {path="../kumo-log-types"}
|
||||
kumo-server-common = {path="../kumo-server-common"}
|
||||
kumo-server-lifecycle = {path="../kumo-server-lifecycle"}
|
||||
kumo-server-memory = {path="../kumo-server-memory"}
|
||||
kumo-server-runtime = {path="../kumo-server-runtime"}
|
||||
lazy_static = "1.4"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use crate::lifecycle::LifeCycle;
|
||||
use anyhow::Context;
|
||||
use caps::{CapSet, Capability, CapsHashSet};
|
||||
use clap::{Parser, ValueEnum};
|
||||
use kumo_server_lifecycle::LifeCycle;
|
||||
use kumo_server_runtime::rt_spawn;
|
||||
use metrics_prometheus::recorder::Layer as _;
|
||||
use nix::sys::resource::{getrlimit, setrlimit, Resource};
|
||||
@@ -36,7 +36,6 @@ mod delivery_metrics;
|
||||
mod egress_path;
|
||||
mod egress_source;
|
||||
mod http_server;
|
||||
mod lifecycle;
|
||||
mod logging;
|
||||
mod lua_deliver;
|
||||
mod metrics_helper;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
use crate::egress_path::EgressPathConfig;
|
||||
use crate::egress_source::{EgressPool, EgressSource};
|
||||
use crate::http_server::HttpListenerParams;
|
||||
use crate::lifecycle::LifeCycle;
|
||||
use crate::logging::{ClassifierParams, LogFileParams, LogHookParams};
|
||||
use crate::queue::QueueConfig;
|
||||
use crate::smtp_server::{EsmtpDomain, EsmtpListenerParams, RejectError};
|
||||
use anyhow::Context;
|
||||
use config::{any_err, from_lua_value, get_or_create_module};
|
||||
use kumo_server_lifecycle::LifeCycle;
|
||||
use kumo_server_runtime::spawn;
|
||||
use mlua::{Function, Lua, LuaSerdeExt, Value};
|
||||
use mod_redis::RedisConnKey;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use crate::egress_source::{EgressPool, EgressPoolRoundRobin, RoundRobinResult};
|
||||
use crate::http_server::admin_bounce_v1::AdminBounceEntry;
|
||||
use crate::http_server::admin_suspend_v1::AdminSuspendEntry;
|
||||
use crate::lifecycle::{Activity, ShutdownSubcription};
|
||||
use crate::logging::{log_disposition, LogDisposition, RecordType};
|
||||
use crate::lua_deliver::LuaDeliveryProtocol;
|
||||
use crate::ready_queue::ReadyQueueManager;
|
||||
@@ -9,6 +8,7 @@ use crate::spool::SpoolManager;
|
||||
use anyhow::Context;
|
||||
use chrono::Utc;
|
||||
use config::load_config;
|
||||
use kumo_server_lifecycle::{Activity, ShutdownSubcription};
|
||||
use kumo_server_runtime::{rt_spawn, spawn, spawn_blocking};
|
||||
use message::message::QueueNameComponents;
|
||||
use message::Message;
|
||||
|
||||
@@ -3,7 +3,6 @@ use crate::egress_path::EgressPathConfig;
|
||||
use crate::egress_source::EgressSource;
|
||||
use crate::http_server::admin_bounce_v1::AdminBounceEntry;
|
||||
use crate::http_server::admin_suspend_ready_q_v1::AdminSuspendReadyQEntry;
|
||||
use crate::lifecycle::{Activity, ShutdownSubcription};
|
||||
use crate::logging::{log_disposition, LogDisposition, RecordType};
|
||||
use crate::lua_deliver::LuaQueueDispatcher;
|
||||
use crate::queue::{DeliveryProto, Queue, QueueConfig, QueueManager};
|
||||
@@ -13,6 +12,7 @@ use anyhow::Context;
|
||||
use async_trait::async_trait;
|
||||
use config::load_config;
|
||||
use dns_resolver::MailExchanger;
|
||||
use kumo_server_lifecycle::{Activity, ShutdownSubcription};
|
||||
use kumo_server_memory::{get_headroom, low_memory, subscribe_to_memory_status_changes};
|
||||
use kumo_server_runtime::{rt_spawn, rt_spawn_non_blocking, spawn};
|
||||
use message::message::QueueNameComponents;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
use crate::delivery_metrics::MetricsWrappedConnection;
|
||||
use crate::egress_path::Tls;
|
||||
use crate::lifecycle::ShutdownSubcription;
|
||||
use crate::logging::{log_disposition, LogDisposition, RecordType};
|
||||
use crate::ready_queue::{Dispatcher, QueueDispatcher};
|
||||
use crate::spool::SpoolManager;
|
||||
@@ -8,6 +7,7 @@ use anyhow::Context;
|
||||
use async_trait::async_trait;
|
||||
use dns_resolver::ResolvedMxAddresses;
|
||||
use kumo_log_types::ResolvedAddress;
|
||||
use kumo_server_lifecycle::ShutdownSubcription;
|
||||
use kumo_server_runtime::{rt_spawn, spawn};
|
||||
use message::Message;
|
||||
use rfc5321::{ClientError, EnhancedStatusCode, ForwardPath, Response, ReversePath, SmtpClient};
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
use crate::lifecycle::{Activity, ShutdownSubcription};
|
||||
use crate::logging::{log_disposition, LogDisposition, RecordType};
|
||||
use crate::queue::QueueManager;
|
||||
use crate::spool::SpoolManager;
|
||||
@@ -8,6 +7,7 @@ use cidr_map::{AnyIpCidr, CidrSet};
|
||||
use config::{any_err, load_config, LuaConfig};
|
||||
use data_loader::KeySource;
|
||||
use kumo_log_types::ResolvedAddress;
|
||||
use kumo_server_lifecycle::{Activity, ShutdownSubcription};
|
||||
use kumo_server_runtime::{rt_spawn, spawn_local};
|
||||
use lruttl::LruCacheWithTtl;
|
||||
use memchr::memmem::Finder;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use crate::lifecycle::{Activity, ShutdownSubcription};
|
||||
use crate::logging::{log_disposition, LogDisposition, RecordType};
|
||||
use crate::mod_kumo::{DefineSpoolParams, SpoolKind};
|
||||
use crate::queue::QueueManager;
|
||||
use crate::rt_spawn;
|
||||
use anyhow::Context;
|
||||
use chrono::Utc;
|
||||
use kumo_server_lifecycle::{Activity, ShutdownSubcription};
|
||||
use message::Message;
|
||||
use once_cell::sync::Lazy;
|
||||
use rfc5321::{EnhancedStatusCode, Response};
|
||||
|
||||
Reference in New Issue
Block a user