1use std::fmt;
2
3mod client;
4pub mod registration;
5
6pub use client::{
7 CERT_RENEW_AFTER, CanopyClient, ClientBuilderFactory, DEFAULT_CANOPY_URL, NewEvent, Severity,
8 TAILSCALE_URL, client_builder, device_identity, tailscale_client, user_agent,
9};
10
11#[derive(Clone)]
13pub struct Redacted<T>(pub T);
14
15impl<T> fmt::Debug for Redacted<T> {
16 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17 f.write_str("<redacted>")
18 }
19}
20
21impl<T> std::ops::Deref for Redacted<T> {
22 type Target = T;
23 fn deref(&self) -> &T {
24 &self.0
25 }
26}