use serde::Serialize;
use tracing::info;
#[derive(Debug, Serialize)]
pub enum AcmeEvent {
AccountCreated {
email: String,
},
AccountKeyRollover,
OrderCreated {
domains: Vec<String>,
},
ChallengeSolved {
domain: String,
challenge_type: String,
},
CertificateIssued {
domains: Vec<String>,
},
CertificateRevoked {
serial: String,
},
}
pub struct EventAuditor;
impl EventAuditor {
pub fn track_event(event: AcmeEvent) {
let event_json = serde_json::to_string(&event).unwrap_or_default();
info!(target: "acmex_audit", event = %event_json, "ACME event occurred");
}
}