pub struct AuditConfig {
pub reverse_dns: bool,
pub reverse_dns_timeout_ms: u64,
pub retention_days: u64,
}Expand description
Governs the traceability columns and the audit_log table.
Process-wide, so deliberately absent from PROFILE_SECTIONS: the retention
sweep is one pass over one table, and an audit trail that recorded different
things at different endpoints of the same CA would be the wrong shape for
the question it exists to answer.
There is no enabled key. Recording who asked the CA to sign something is
not a feature of this server, it is what a CA does; the only thing an
operator can turn off here is the reverse lookup, because that one costs a
network round trip and has estates where it can never succeed.
Fields§
§reverse_dns: boolResolve a PTR record for the client’s address and freeze it into the row.
On by default. Turn it off on an estate with no usable reverse zone: the
lookups would all fail, every *_ptr would be NULL anyway, and the
only thing left would be the round trip.
reverse_dns_timeout_ms: u64Budget for one PTR lookup.
Small on purpose: this runs inside a request that has already done its
real work, and a slow nameserver must cost a NULL in one column rather
than latency on issuance. Matches filter.reverse_dns.timeout_ms, whose
lookup is against the same nameserver.
retention_days: u64Delete audit_log rows older than this many days.
0 (the default) keeps everything for ever, which is the right default
for a trail whose value is that it is complete. Set it where a retention
policy says otherwise; acme-proxy audit cleanup --older-than is the
same sweep run by hand.
Trait Implementations§
Source§impl Clone for AuditConfig
impl Clone for AuditConfig
Source§fn clone(&self) -> AuditConfig
fn clone(&self) -> AuditConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AuditConfig
impl Debug for AuditConfig
Source§impl Default for AuditConfig
impl Default for AuditConfig
Source§impl<'de> Deserialize<'de> for AuditConfigwhere
AuditConfig: Default,
impl<'de> Deserialize<'de> for AuditConfigwhere
AuditConfig: Default,
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>,
Auto Trait Implementations§
impl Freeze for AuditConfig
impl RefUnwindSafe for AuditConfig
impl Send for AuditConfig
impl Sync for AuditConfig
impl Unpin for AuditConfig
impl UnsafeUnpin for AuditConfig
impl UnwindSafe for AuditConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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> ⓘ
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 more