pub struct MonitoringConfig {
pub allowed_ips: Vec<String>,
pub htpasswd_file: String,
pub services: HashMap<String, MonitoringServiceOverride>,
}Expand description
Monitoring endpoint auth configuration.
Both allowed_ips and htpasswd_file can be used simultaneously.
When both are configured, a request matching either is allowed (OR logic).
When neither is configured, endpoints are publicly accessible.
Fields§
§allowed_ips: Vec<String>IP whitelist in CIDR notation (e.g. “10.0.0.0/8”, “127.0.0.1”). A bare IP without prefix length implies /32 (IPv4) or /128 (IPv6).
htpasswd_file: StringPath to an htpasswd-format file for HTTP Basic Auth.
Each line: username:password (plaintext).
services: HashMap<String, MonitoringServiceOverride>Per-service overrides. When a service key is present here, it completely replaces the global config for that service.
Implementations§
Source§impl MonitoringConfig
impl MonitoringConfig
Sourcepub fn effective_for(&self, service: &str) -> (&[String], &str)
pub fn effective_for(&self, service: &str) -> (&[String], &str)
Get the effective auth config for a given service. Per-service override replaces global when present.
Sourcepub fn is_open_for(&self, service: &str) -> bool
pub fn is_open_for(&self, service: &str) -> bool
Returns true if no auth is configured for the given service.
Trait Implementations§
Source§impl Clone for MonitoringConfig
impl Clone for MonitoringConfig
Source§fn clone(&self) -> MonitoringConfig
fn clone(&self) -> MonitoringConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MonitoringConfig
impl Debug for MonitoringConfig
Source§impl Default for MonitoringConfig
impl Default for MonitoringConfig
Source§fn default() -> MonitoringConfig
fn default() -> MonitoringConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for MonitoringConfig
impl<'de> Deserialize<'de> for MonitoringConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MonitoringConfig
impl RefUnwindSafe for MonitoringConfig
impl Send for MonitoringConfig
impl Sync for MonitoringConfig
impl Unpin for MonitoringConfig
impl UnsafeUnpin for MonitoringConfig
impl UnwindSafe for MonitoringConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request